我需要从列号k
获取一系列单元格,其行数从e
到f
。变量可能会有所不同。
有没有办法没有将列号转换成字符串并进行其他字符串操作?
到目前为止,我找到的是:
Sub testRanges()
Dim tempRange As Range
Set tempRange = ThisWorkbook.Worksheets("setup").Columns(2)
' tempRange.Select 'it works fine
Dim cell As Range
Dim i As Integer
i = 1
For Each cell In tempRange.Cells
ThisWorkbook.Worksheets("setup").Cells(i, 7).value = cell.value 'works
i = i + 1
Next
End Sub
但是我不知道使其只选择5-80行的语法
Dim e as Integer;
Dim f As Integer;
Dim k As Integer;
e=5;
f=80;
k=6;
第六个Columns(k)
中的。有什么想法吗?
答案 0 :(得分:2)
示例:您对第2列的第5和第6单元感兴趣。您可以使用:
With ThisWorkbook.Worksheets("setup")
For Each cell In .Range(.Cells(5, 2), .Cells(6, 2))
'...
Next
End With
上面的任何数字都可以用数字变量替换,通常是Long类型。
答案 1 :(得分:1)
如果我理解你是正确的,你希望范围是F5:F80。(除非你有1R1C表格格式)
Sub testy()
Dim e As Integer
Dim f As Integer
Dim k As Integer
e = 5
f = 80
k = 6
Range(Cells(e, k), Cells(f, k)).Select
End Sub
答案 2 :(得分:0)
如果必须采用行和列的交集,则在VBA中,此命令为Intersect()
。
试试这个:
Sub Test
Dim k as range
set k =intersect(Rows("3:4"),columns("E"))
k.select
End Sub