Excel 在最后一行下面添加行
我正在设计一个包含12行数据的数据提交电子表格(目前为第22到33行)。第34到42行用文本填充。如果要输入12个以上的数据集,我想在第33行下面添加一个新行(第34行),使用分配给按钮的宏,格式与第33行相同。这很简单,但如果我需要第34行下面的另一个新行(现在是第35行),我需要一个灵活的代码来做到这一点;mine总是在第33行下方添加新行,而不是在数据输入集的最后一行下方。我该怎么做?我对VBA很陌生 谢谢 安迪 将“A”更改为始终包含数据的列的名称 然后,可以将lastrow变量用作:Excel 在最后一行下面添加行,excel,vba,row,addition,Excel,Vba,Row,Addition,我正在设计一个包含12行数据的数据提交电子表格(目前为第22到33行)。第34到42行用文本填充。如果要输入12个以上的数据集,我想在第33行下面添加一个新行(第34行),使用分配给按钮的宏,格式与第33行相同。这很简单,但如果我需要第34行下面的另一个新行(现在是第35行),我需要一个灵活的代码来做到这一点;mine总是在第33行下方添加新行,而不是在数据输入集的最后一行下方。我该怎么做?我对VBA很陌生 谢谢 安迪 将“A”更改为始终包含数据的列的名称 然后,可以将lastrow变量用作:
Range("A" & lastrow).Value = "blah"
我认为don的答案行不通,因为您声明您在第34到42行中有文本 如果第34行中单元格的文本值不变,则可以搜索该单元格并在其上方插入一行
Dim someText As String
someText = "Text value of row 34"
Dim currentRange As Range
Set currentRange = Selection
With Range("A:A").find(someText) 'change the range if needed
.EntireRow.Insert
.Offset(-2).EntireRow.Copy
.Offset(-1).EntireRow.PasteSpecial xlPasteFormats 'change the paste type as needed
End With
Application.CutCopyMode = False 'get rid of the marching ants
currentRange.Select 'select whatever was selected before
'alternative: Range("A1").Select
谢谢你;这很有魅力!当我运行此命令时,新行被完全选中。如何仅选择A列中的单元格?我编辑了代码以重新选择宏运行前选择的内容。如果您想选择另一个范围,只需更改代码块的最后一行即可。真漂亮!非常感谢您的快速回复。令人惊奇的是:我甚至开始明白这是怎么回事:)!
Dim someText As String
someText = "Text value of row 34"
Dim currentRange As Range
Set currentRange = Selection
With Range("A:A").find(someText) 'change the range if needed
.EntireRow.Insert
.Offset(-2).EntireRow.Copy
.Offset(-1).EntireRow.PasteSpecial xlPasteFormats 'change the paste type as needed
End With
Application.CutCopyMode = False 'get rid of the marching ants
currentRange.Select 'select whatever was selected before
'alternative: Range("A1").Select