添加chatacters到单元格并自动填充VBA中的列

编号喜欢添加一些charaters列A中的值,然后让它自动填充其余的值有价值的行。 我已经尝试了一些我在其他线程中find的代码的变体,并得到相同的结果:运行时错误1004:方法范围对象_global失败。

这是我试过的代码:

Range("B1:B" & LastRow).Formula = "=CHAR(34)&A1&CHAR(34)&CHAR(44)" 

 Range("B1") = "=CHAR(34)&A1&CHAR(34)&CHAR(44)": Range("B1:B" & LastRow).FillDown 

Run time error 1004: Method range object _global failed将被LastRow的值为<1抛出。您通常可以通过使用下面的编码模式避免使用LastRowvariables。

 With Worksheets("Sheet1") .Range("B1", .Range("B" & .Rows.Count).End(xlUp)).Formula = "=CHAR(34)&A1&CHAR(34)&CHAR(44)" End With 

@mooseman提出了一个好点。

如果您需要获取另一列的最后一行的单元格,则可以使用Range.Offset([col],[row])

 With Worksheets("Sheet1") .Range("A1", .Range("A" & .Rows.Count).End(xlUp)).Offset(0, 1).Formula = "=CHAR(34)&A1&CHAR(34)&CHAR(44)" End With 

这种方法可以确保您正确地使用正确的列。

 With Worksheets("Sheet1") With .Range("A1", .Range("A" & .Rows.Count).End(xlUp)) .EntireRow.Columns("B").Formula = "=CHAR(34)&A1&CHAR(34)&CHAR(44)" End With End With