Excel vba获取列的范围,只有列号

时间:2017-10-27 09:25:25

标签: excel vba excel-vba

我需要从列号k获取一系列单元格,其行数从ef。变量可能会有所不同。

有没有办法没有将列号转换成字符串并进行其他字符串操作

到目前为止,我找到的是:

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)中的

。有什么想法吗?

3 个答案:

答案 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