简体   繁体   English

清除多个工作表中动态范围的内容

[英]clear content of dynamic ranges in multiple worksheets

I would like to delete all data from the worksheets except for one called datainput. 我想从工作表中删除所有数据,但其中一个叫做datainput。 I have a template for my worksheets so my data starts on row 32 (A32) but each worksheet has a different number of records. 我有一个工作表模板,因此我的数据从第32行(A32)开始,但是每个工作表都有不同数量的记录。

I'm pretty new to macros and below is my miserable attempt. 我对宏很陌生,下面是我的痛苦尝试。

Thanks, 谢谢,

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

Please give this a try.... 请尝试一下。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM