我的数据是动态的,并且我必须存储的唯一值都大于零并且位于H列中。因此,在保存记录之前,必须删除H列中包含0的行。
我当前的选择只是硬编码在数据集下方。
编辑:如何在清除之前根据整个行的H列值将选择过程从硬编码更改为公式。 *具体是
`Range("A4:J8").Select
Selection.ClearContents`
这是我的代码供参考。 谢谢!
Sub openCSV()
Range("A4:J8").Select
Selection.ClearContents
Selection.ClearContents
ActiveWorkbook.Save
ActiveWorkbook.Save
SendKeys String:="%slc{enter}", Wait:=True
Application.Wait (Now + TimeValue("00:00:03"))
ActiveWindow.Close
End Sub
答案 0 :(得分:-2)
我不确定我是否100%理解了这些问题。如果您要提供的只是如何根据列值清除行的内容,那么此代码将为您工作:
Sub openCSV()
Dim lRow As Long
lRow = Cells(Rows.Count, 1).END(xlUp).Row 'finds last row
'Loop from the last row to the first (assuming row 1 is header data so stopping at row 2)
For i = lRow To 2 Step -1
'Perform whatever test you want on column H
If ActiveSheet.Range("H" & i).Value = 0 Then
ActiveSheet.Rows(i).ClearContents
End If
Next i
Range("A4:J8").Select
ActiveWorkbook.Save
ActiveWorkbook.Save
SendKeys String:="%slc{enter}", Wait:=True
Application.Wait (Now + TimeValue("00:00:03"))
ActiveWindow.Close
End Sub
我正在使用反向循环,因为我不确定您的要求。如果您最终想要删除该行,那么此代码从头到尾仍然可以使用。如果您只清除内容,则可以选择任一方向,但仍然可以使用。