【发布时间】:2022-01-06 00:51:16
【问题描述】:
我想删除 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”。
【问题讨论】:
-
在列表中的某处总是一起删除的总要删除 5 行吗?
-
@Mitch 是的。如果它发生变化,我可以自己更改代码。我会换号码的。除非,我让它要求一个整数。但我无法弄清楚这将如何与 MACROS 一起使用。是否会弹出一个窗口要求我输入一个数字?