【问题标题】:Excel VBA to loop through worksheets clearing entire rows from row 10 to last used rowExcel VBA循环工作表清除从第10行到最后使用的行的整行
【发布时间】:2017-02-13 22:47:41
【问题描述】:

我有一个工作簿,其中包含一个“主工作表”工作表,所有产品都在该工作表上输入和更新,以及编号为 1 - 24 的“阶段表”工作表。例如。 'Stage 1 Sheet', 'Stage 2 Sheet' etc.This shows the layout of the worksheets. Stages 6 - 24 are hidden.

我想要一个宏,在重新输入(我已经有这部分的宏)之前从主表中清除所有阶段表的相关产品。我一直在努力让它遍历这么多工作表,然后不得不为每个工作表找到最后一行。

The Stage sheets are exactly the same as this Master Sheet except that each stage has only the products(rows) relating to that stage.

需要从第 10 行到最后使用的行清除每个工作表。可以使用 A 列确定最后使用的行。在此先感谢您的帮助。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您必须创建一个字符串和一个整数来构成当前文件的名称。 比你需要激活工作表,你必须去删除整个正方形。

    伪代码:

    Dim sheetName As String
    For i = 1 To 24
     sheetName = "Stage " & i & " Sheet" 
     Sheets(sheetName).Activate   
     .Range("A10:A" & .range("A10").End(xlDown).row).ClearContents
    Next i
    

    我希望这将帮助您完成工作。

    【讨论】:

    • 您不需要使用...Activate。我建议改为使用With Sheets(sheetName),从而避免激活工作表。
    • @Rick de Gier 谢谢你们俩。代码有效。我唯一改变的是包含 BruceWayne 提出的建议并明确 .EntireRow。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2023-02-02
    • 2023-03-12
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    相关资源
    最近更新 更多