如何将这些字符串变量放入范围?

时间:2014-04-08 19:38:01

标签: excel-vba vba excel

下面的代码为两个变量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放入范围格式的正确方法是什么?

2 个答案:

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