在Excel文件中的所有选项卡上运行宏 - 一行宏代码可用?


0

我有一些在我当前的工作表上运行的宏,但我希望它只需单击一个按钮即可在我的工作簿中的所有选项卡上运行。其目的是用单元格A2:C100中的f6中的值替换f5中指示的所有值。

这是当前的代码:

Sub try()
Range("A2:C100").Select
    Selection.Replace What:=Range("f5").Value, Replacement:=Range("f6").Value, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

Sub Button4_Click()

End Sub

Answers:


0

我假设F5& F6在我的例子中引用固定的表格'Sheet1'。因此,尽管你的单词本可能有多张表,但是替换总是指Sheet1!F5& Sheet1!F6例如。

将代码修改为以下内容。这将循环到当前工作簿的所有表格并运行每个工作表的代码。在Sub Try()中,该片材的代号为例如 Sheet1.Range 在此示例中,而不是工作表的实际名称。

实际上,您可以将所有内容组合在一个宏中。

Public Sub try()
ActiveSheet.Range("A2:C100").Select
    Selection.Replace What:=Sheet1.Range("f5").Value, Replacement:=Sheet1.Range("f6").Value, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub


Sub Button1_Click()
For Each WS In ThisWorkbook.Sheets
    WS.Activate
    Call try
Next WS
End Sub

我不太确定是否可以有一个单行代码但是为了得到同样的感觉你可以把:将所有语句放在一行上。就像是

Sub Button1_Click()
  For Each WS In ThisWorkbook.Sheets: WS.Activate:    Call try: Next WS
End sub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.