我试图更改250行的日期格式,中间有15个单元格。 我无法提供动态行号来选择整行。
Sub Macro2()
Dim i As Long
Dim j As Long
Range("A2").Select
Do While i < 250
i = i + 1
j = ActiveCell.row
Rows("j:j").Select
Selection.NumberFormat = "m/d/yyyy"
Cells(ActiveCell.row + 15, 1).Select
Loop
End Sub
我没有专业的程序员。我已经在互联网上寻找行的语法,并且在给定j = 2,3,4 ....整数但不能执行这一行时它正在工作。请帮忙
答案 0 :(得分:2)
您的问题是Rows
的索引必须是数值或类似于"10:15"
的字符串。您正尝试使用"j:j"
字符串,但应该使用数字变量j
。
以下代码更适合您的任务:
Sub Macro2()
Dim i As Long
For i = 2 To 250 * 15 Step 15
Rows(i).NumberFormat = "m/d/yyyy"
Loop
End Sub
答案 1 :(得分:1)
有用的事情是,当你声明一个变量并想要使用它时,你不要像你"j:j"
那样把它放在双引号中,你必须使用
Sub Macro2()
Dim i As Long
Dim j As Long
Range("A2").Select
Do While i < 250
i = i + 1
j = ActiveCell.row
Rows(j & ":" & j).Select
Selection.NumberFormat = "m/d/yyyy"
Cells(ActiveCell.row + 15, 1).Select
Loop
End Sub
这应该也可以。但是在这里,因为您只想选择一行,所以您可以使用Rows(j).Select
。