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

问题描述 投票:1回答:1

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

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

谢谢,

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
excel vba
1个回答
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
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.