Excel vba只有列号才能得到列的范围

我需要从列号为k的行中得到一个范围从ef行。 variables可能会有所不同。

有没有办法做到这一点, 而无需将列号转换为string并进行其他string操作

到目前为止,我发现:

 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 

但是,我不知道使其只能select5-80行的语法

 Dim e as Integer; Dim f As Integer; Dim k As Integer; e=5; f=80; k=6; 

在第六Columns(k) 。 有任何想法吗?

例如:您对第2列的单元格5和6感兴趣。您可以使用:

 With ThisWorkbook.Worksheets("setup") For Each cell In .Range(.Cells(5, 2), .Cells(6, 2)) '... Next End With 

上面的任何数字都可以被数字variables(通常是Longtypes)replace。

如果我理解你是正确的,你想要的范围是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 

如果必须采用行和列的交集,那么在VBA中,这个命令是Intersect()

尝试这个:

 Sub Test Dim k as range set k =intersect(Rows("3:4"),columns("E")) k.select End Sub