manbet网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 161|回复: 3
打印 上一主题 下一主题

宏代码中,固定步长的行列变量,如何表达?

[复制链接]
跳转到指定楼层
1楼
发表于 2021-3-18 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lijian8003 于 2021-3-18 19:25 编辑
  1. Sub test()
  2. Application.ScreenUpdating = False
  3. Dim cell As Range, xRng1 As Range, xRng2 As Range
  4. Dim i As Integer
  5. i = 1
  6. Set xRng1 = Range("B1:B1000")
  7. Set xRng2 = Range("A1:A1000")
  8. For Each cell In xRng2
  9. If cell.Value <> "" And WorksheetFunction.CountIf(xRng1, cell.Value) = 0 Then
  10. If WorksheetFunction.CountIf(xRng2, cell.Value) > 2 Then Range("B" & i) = cell.Value: i = i + 1
  11. End If
  12. Next
  13. Application.ScreenUpdating = True
  14. End Sub
复制代码
问题一:列为变量
Range("B1:B1000")
Range("B" & i)
步长=1
B C D E F...依次各列的变量,如何表达?
Range("B1:B1000")        Range("C1:C1000")        Range("D1:D1000")...
Range("B" & i)        Range("C" & i)        Range("D" & i)...

问题二:行为变量
Range("A1:A1000")
步长=10
Range("A1:A1000")        Range("A11:A1010")        Range("A21:A1020")...
各行的变量,如何表达?

分享到:  QQ好友和群QQ好友和群
收藏收藏
2楼
发表于 2021-3-18 20:34 | 只看该作者
本帖最后由 砂海 于 2021-3-18 20:38 编辑

Cells 不用列标 , 比range容易控制
====================
Range("B3")
Cells( 3 , 2 )
------------------------------------------
Range("A1:C3")
Range(cells(1,1),cells(3,3)).Select
----------------------------------------------------------------------------------------------
也可以 range("A1").Offset( 偏移行 , 偏移列).resize( 行数 , 列数)来表达
3楼
查看详细资料  楼主| 发表于 2021-3-18 20:49 | 只看该作者
砂海 发表于 2021-3-18 20:34
Cells 不用列标 , 比range容易控制
====================
Range("B3")

谢谢,学习了。
4楼
发表于 2021-3-19 12:10 | 只看该作者
Range("B1:B1000").offset(0,1)就是 Range("C1:C1000")
Range("B1:B1000").offset(10,0)就是 Range("B11:B1010")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|manbet ( )

GMT+8, 2021-6-10 12:13 , Processed in 0.093600 second(s), 6 queries , Gzip On, Redis On.

Powered by X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表