如何使用vba将数据添加到excel中的列

这是一张表(表2)的例子,

AB 10 20 30 40 50 

我试图硬编码一个值,说我的工作表2中列A的数据,直到列B的最后一行,所以我的输出将看起来像这样

 AB Data 10 Data 20 Data 30 Data 40 Data 50 

目前我正在使用下面的代码,但得到一个错误! 如何实现在这个。

 Sub AddData() Sheets("Sheet2").Range("A2:A" & LastRow).Value="A" End Sub 

尝试这个:

 Sub AddData() Dim LastRow As Long LastRow = Sheets("Sheet2").Cells(Rows.Count, "B").End(xlUp).Row Sheets("Sheet2").Range("A1:A" & LastRow).Value = "Data" End Sub 

另一个相同的答案扭曲…

 Sub AddData() Dim LastRow As Long LastRow = Sheets("Sheet4").UsedRange.Rows.Count Sheets("Sheet4").Range("A2:A" & LastRow).Value = "Data" End Sub 

您似乎没有为LastRow价值。 你可以使用下面的代码find最后一行: –

 Sub AddData() lastRow = Sheets("Sheet2").Cells(65536, 2).End(xlUp).Row Sheets("Sheet2").Range("A2:A" & lastRow).Value = "A" End Sub 
 Sheets("Sheet2").Columns("B").SpecialCells(xlCellTypeConstants, xlNumbers).Offset(, -1) = "Data" 

这将把“数据”string放在任何列“A”单元的旁边列“B”一个包含一个数字,根据您的eexample

但是你可以改变这个“过滤”

例如:

 Sheets("Sheet2").Columns("B").SpecialCells(xlCellTypeConstants).Offset(, -1) = "Data" 

将考虑列“B”中包含常量的所有单元格(无论是数字还是文本值)

而:

 Sheets("Sheet2").Columns("B").SpecialCells(xlCellTypeFormulas).Offset(, -1) = "Data" 

将考虑包含公式的列“B”中的所有单元格

请参阅https://msdn.microsoft.com/zh-cn/library/office/ff196157(v=office.15).aspx