问:归档后如何清除单元格?

我已经把一个macros,使我可以将数据从一张表格存档到另一张,但是我有麻烦了之后清除信息。 第一列包含我不想清除的数字,现在只是清除B列中的数据。

如果有人可以看看这个,我会非常感激。

'Sub archive() Dim i, lastrow Dim mytext As String lastrow = Sheets("Rooms").Range("A" & Rows.Count).End(xlUp).Row For i = 1 To lastrow mytext = Sheets("Rooms").Cells(i, "F").Text If InStr(mytext, "yes") Then Sheets("Rooms").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Archive").Range("A" & Rows.Count).End(xlUp).Offset(1) Sheets("Rooms").Cells(i, "B").Clear End If Next i End Sub' 

我已经把列B中相关联的行上的单元格,并将其扩展到包含任何值的同一行上的最后一个单元格。

 Sub archive() Dim i, lastrow Dim mytext As String With WorkSheets("Rooms") lastrow = .Range("A" & Rows.Count).End(xlUp).Row For i = 1 To lastrow mytext = .Cells(i, "F").Text If InStr(1, mytext, "yes", vbTextCompare) Then .Cells(i, "A").EntireRow.Copy Destination:=Sheets("Archive").Range("A" & Rows.Count).End(xlUp).Offset(1) .Range(.Cells(i, "B"), .Cells(i, Columns.Count).End(xlToLeft)).Clear End If Next i End With End Sub 

此外,我使用With … End With语句将WorkSheets("Rooms")与其所有单元格关联,以避免重复性的工作表引用。

Range.Clear命令擦除所有值和格式。 如果您只想要删除这些值,则可能需要切换到Range.ClearContents方法 。