簡體   English   中英

Excel 宏 - 針對另一個工作簿運行

[英]Excel Macro - Run Against Another Workbook

大家早上好,

我只是想了解如何運行一個工作簿中的宏,但將宏過程/更改應用到另一個打開的工作簿中。

我想要實現的是一個工作簿是說模板將始終打開。 我在該模板文件中有一個宏,它通過一個目錄查找 xlsm 文件並一次打開一個。 我想要做的是當工作簿打開時,在模板文件中調用另一個宏,該宏更新另一個打開的工作簿中的連接字符串詳細信息。

我已經准備好宏並且它們可以工作,但是我想針對另一個工作簿運行它們而不必將代碼復制到其中。

這是可能嗎?

提前致謝。

創建一個變量來存儲您的工作簿,然后使用它來引用它。 像這樣的東西:

'place this at the top of the module so that the variable can be used by all macros
Private wb As Workbook

'place this in your "browse and open" macro in place right after you open a workbook
Set wb = ActiveWorkbook

'now you can do whatever you want by referring to wb
wb.Worksheets("Sheet 1").Range("A1") = "Cell A1"
wb.Worksheets("Sheet 2").Range("C3").EntireRow.Delete
wb.Close

您也可以繼續引用ActiveWorkbook ,但您必須確保它在您想要處理它的所有時間實際上都保持活動狀態。 如果同時您想在模板工作簿上做一些事情,您可以將其稱為ThisWorkbook

子 h()

'詢問行號>>

k = InputBox("女巫行?")

' 您現在定義工作表 >>

Sheet2.Select

'現在你看到在這種情況下我使用了一個選定的單元格作為參考點>>

Sheet2.Range("a" & k).EntireRow.Delete

結束子

在 MS EXCEL Sheet1 中,轉到“插入選項卡”,到“形狀”,>>

選擇一個圓角框,為其添加文本以使其直觀,>>

更改文本和背景的顏色,然后:>>

通過“右鍵單擊”選擇您用鼠標創建的形狀>>

並從出現的列表中選擇“Assing Macro”,然后選擇宏“h”

如果一切都符合這些跡象,我們將進行下一步>>

如果你點擊它運行子。 因此,您將看到一個輸入框,您可以在其中指定要刪除的行號。


你去吧!

ps希望我清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM