以下代码给了我一个编译错误:预期:分隔符或)。
Public Sub test1()
Dim first_column As String,a_tab as string
a_tab="Sheet1"
first_column = "A"
ThisWorkbook.Sheets(a_tab).Range(first_column&"10").value="hello"
End Sub
我知道我们可以在行引用是变量(即
)时做到这一点Public Sub test1()
dim fist_row as integer, a_tab as string
a_tab="Sheet1"
first_row=10
ThisWorkbook.Sheets(a_tab).Range("A"&first_row).value="hello"
End Sub
有人可以帮忙吗?非常感谢。
答案 0 :(得分:1)
摆脱使用字母表示列的习惯。
您的第一列是第1列:
Columns(1).Value = "Hello"
将在第1列-Range(A1:A1048576)
的每个单元格中放置“ Hello”。
第1列中的第二个单元格:
Cells(2, 1) = "Hello"
将在第2行第1列-Range(A2)
中放置“ Hello”。
以开始和结束单元格指定的单元格范围:
Range(Cells(2, 1), Cells(4, 2)) = "Hello"
将在第2行第1列和第4行第2列之间的每个单元格中放置“ Hello”-Range("A2:B4")
第一,第二,第三和第四列:
Range(Cells(1,1),Cells(1,4)).EntireColumn
-Range("A:D")
。
但是,说导致代码失败的唯一原因就是间距。您会注意到,使用row变量时,它会一直放回空格-似乎不会使用column变量:
ThisWorkbook.Sheets(a_tab).Range(first_column & "10").Value = "hello"
-在“&”号的两侧添加一个空格。
修改:
考虑使用循环将值放置在CB:CL列中。使用您要写的数字:
Sub Test()
Dim x As Long
For x = 80 To 90
Cells(1, x) = "Hello"
Next x
End Sub
使用字母,您必须使用类似以下内容:
Sub Test()
Dim col_Letter As String
col_Letter = "CB"
Do
Range(col_Letter & "10") = "Hello"
'Get the next column letter by finding the address, splitting it and extracting just the column letter.
col_Letter = Split(Range(col_Letter & "10").Offset(, 1).Address(True, False), "$")(0)
Loop While col_Letter <> "CL"
End Sub
答案 1 :(得分:0)
将自变量中的字符串连接到Range
时是否缺少空格? ThisWorkbook.Sheets(a_tab).Range(first_column & "10").value="hello"
对我有用,如果我添加空格。