我想删除1000个文件中的特定单元格区域。
此单元格区域的位置在每个文件中都不相同。在某些情况下,它从A12开始,在其他一些情况下,它从A20,A21等开始。
只有一列有5行(行),我想全部删除它们。
所以,我需要:
01)找到具有特定文本(“VVVV”)的单元格(第一行)。
02)选择此单元格,其余4(下方)
03)删除,选择SHIFT CELLS UP
首先,我只能让它选择第一行并删除它(shell也会向上移动)。这是我的代码,现在删除其他行,但有一个问题:
Sub deleteRows()
'
' deleteRows Macro
'
' Keyboard Shortcut: Ctrl+s
'
Dim StartRange As String
Dim EndRange As String
Cells.Find(What:="VVVV").Select
StartRange = ActiveCell.Address
EndRange = ActiveCell.Address & 4
ActiveSheet.Range(StartRange & ":" & EndRange).Select
Selection.Delete Shift:=xlUp
End Sub
删除的行数超出预期。这意味着“EndRange”值存在问题。也许,我将不得不尝试找到一个选择范围并删除它的函数。例如,如果单元格在“A1:B1”中,我想选择“A1:B1”到“A5:B5”。
答案 0 :(得分:1)
你可以用一行代码来完成:
Cells.Find(What:="VVVV").Offset(-4, 0).Resize(5, 1).EntireRow.Delete
答案 1 :(得分:0)
请试试这个:
Sub deleteRows()
'
' deleteRows Macro
'
' Keyboard Shortcut: Ctrl+s
'
Dim StartRange As String
Dim EndRange As String
Cells.Find(What:="VVVV").Select
StartRange = ActiveCell.Address
Selection.Offset(4, 0).Select
EndRange = ActiveCell.Address
ActiveSheet.Range(StartRange & ":" & EndRange).Select
Selection.Delete Shift:=xlUp
End Sub