在循环中删除一行的选定段
Delete a selected segment of a row within a loop
我有一个很大的电子表格(一直到 Cell BP584)。我试图遍历 S 行中从 S5 开始的值,并且 - 在它们与我指定的变量值匹配的地方 - 删除它们所在区域中的某些单元格。我只想删除从 P 列到 AG 的单元格 - 而不是整行。我已将我的代码放在下面 (VBA)。它不工作。
Sub DeleteSelect()
Sheets("DADOS").Select
Dim CurrentDate As Date
CurrentDate = Range("AH2").Value
For i = 5 To 105
If Range("S" & i).Value = CurrentDate Then Range("Pi:AGi").Delete
Next
End Sub
你非常接近,它只是看起来像你的 Delete
语句中的语法错误:
Sub DeleteSelect()
Sheets("DADOS").Select
Dim CurrentDate As Date
CurrentDate = Range("AH2").Value
For i = 5 To 105
If Range("S" & i).Value = CurrentDate Then
' Caution - Delete will shift cells.
' You might want to consider ClearContents instead.
Range("P" & i & ":AG" & i).Delete(xlShiftToLeft)
End If
Next
End Sub
如上面的代码所述,您可能需要考虑使用 ClearContents
而不是 Delete
,这样您就不必担心移动单元格位置。
我有一个很大的电子表格(一直到 Cell BP584)。我试图遍历 S 行中从 S5 开始的值,并且 - 在它们与我指定的变量值匹配的地方 - 删除它们所在区域中的某些单元格。我只想删除从 P 列到 AG 的单元格 - 而不是整行。我已将我的代码放在下面 (VBA)。它不工作。
Sub DeleteSelect()
Sheets("DADOS").Select
Dim CurrentDate As Date
CurrentDate = Range("AH2").Value
For i = 5 To 105
If Range("S" & i).Value = CurrentDate Then Range("Pi:AGi").Delete
Next
End Sub
你非常接近,它只是看起来像你的 Delete
语句中的语法错误:
Sub DeleteSelect()
Sheets("DADOS").Select
Dim CurrentDate As Date
CurrentDate = Range("AH2").Value
For i = 5 To 105
If Range("S" & i).Value = CurrentDate Then
' Caution - Delete will shift cells.
' You might want to consider ClearContents instead.
Range("P" & i & ":AG" & i).Delete(xlShiftToLeft)
End If
Next
End Sub
如上面的代码所述,您可能需要考虑使用 ClearContents
而不是 Delete
,这样您就不必担心移动单元格位置。