我有一个工作表,我想在其中使用按钮添加行。我在多行上有多个按钮,每个按钮应在其位置添加一行。
问题是,无论何时添加新行,我想要添加行的位置都会发生变化。因此,我将单元格命名为要为每个按钮添加新行的单元格。
我无法获取单元格的行号,因此我可以选择添加新行的位置。 Atm我试过这个:
Sub Button2_Click()
Dim RowNum As Variant
Set RowNum = WorksheetFunction.Index(cell, 1, 0)
Rows(RowNum & ":" & RowNum).Insert Shift:=xlDown
Rows(RowNum - 1 & ":" & RowNum - 1).Copy Range("A" & RowNum)
Range("D" & 7, "L" & 7).ClearContents
End Sub
其中,cell是我想要添加新行的单元格。
我无法使用索引函数将行作为数字返回。当我将鼠标悬停在" cell"在调试中它说cell = empty。
希望这很清楚,因为你可以告诉我对这些东西不太熟悉。
谢谢:)
答案 0 :(得分:1)
当您使用Set
将变体分配给返回的Application.Index
时,实际上是在设置范围。您可以简化此操作以简单地返回单元格的行号,但您必须引用命名范围,就好像它是Range object中的单元格地址一样。
Sub Button2_Click()
Dim RowNum As Long
With ActiveSheet
RowNum = .Range("cell").Row
.Rows(RowNum).Insert Shift:=xlDown
.Rows(RowNum - 1).Copy .Range("A" & RowNum)
.Range("D" & 7, "L" & 7).ClearContents 'not really sure where the 7 comes in here
End With
End Sub
答案 1 :(得分:0)
尝试此操作以查找您命名的单元格:
rowToInsertIn=Application.WorksheetFunction.Match("MyCellName", Range("A:A"), 0)