下面的代码为两个变量ColumnNumber1和ColumnNumber2分配数值,然后将它们转换为字母。
Dim ColumnNumber1 as Long
Dim ColumnNumber2 as Long
Dim ColumnLetter1 As String
Dim ColumnLetter2 As String
ColumnNumber1 = 1
ColumnNumber2 = 2
ColumnLetter1 = Split(Cells(1, ColumnNumber1).Address, "$")(1)
ColumnLetter2 = Split(Cells(1, ColumnNumber2).Address, "$")(1)
现在,ColumnLetter1 = A和ColumnLetter2 = B.到目前为止,非常好。我想把它们放到这样的范围内:
range("A:B")
但是VBA拒绝我尝试的所有内容,例如
range("ColumnLetter1:ColumnLetter2")
将ColumnLetter1和ColumnLetter2放入范围格式的正确方法是什么?
答案 0 :(得分:2)
怎么样:
Sub marine()
Dim ColumnNumber1 As Long
Dim ColumnNumber2 As Long
Dim ColumnLetter1 As String
Dim ColumnLetter2 As String
ColumnNumber1 = 1
ColumnNumber2 = 2
ColumnLetter1 = Split(Cells(1, ColumnNumber1).Address, "$")(1)
ColumnLetter2 = Split(Cells(1, ColumnNumber2).Address, "$")(1)
Set r = Range(ColumnLetter1 & ":" & ColumnLetter2)
End Sub
答案 1 :(得分:2)
使用这个:
Range(ColumnLetter1 & ":" & ColumnLetter2)
另一种选择是使用列数字:
Range(Cells(1, ColumnNumber1), Cells(1, ColumnNumber2)).EntireColumn
这两种方法都为Range("A:B")
和ColumnNumber1 = 1
ColumnNumber2 = 2