明确多个工作表中动态范围的内容

时间:2017-12-20 04:28:36

标签: excel vba

我想删除工作表中的所有数据,除了一个名为datainput的数据。 我有一个工作表模板,所以我的数据从第32行(A32)开始,但每个工作表都有不同的记录数。

我对macros很陌生,下面是我悲惨的尝试。

谢谢,

Sub test()

Dim ws As Integer

ws = Application.Sheets.Count

For x = 1 To ws
      If Worksheets(x).Name <> "Datainput" 
Then Worksheets(x).Rows((32),Cells(Rows.Count,Columns.Count)).ClearContents
End
Next
End Sub

1 个答案:

答案 0 :(得分:0)

请试一试....

Sub test()

Dim ws As Worksheet
Dim lr As Long, lc As Long

For Each ws In ThisWorkbook.Sheets
    If ws.Name <> "Datainput" Then
        lr = ws.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        lc = ws.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
        If lr > 31 Then ws.Range("A32", ws.Cells(lr, lc)).ClearContents
    End If
Next ws

End Sub