tft每日頭條

 > 職場

 > excelvba激活工作簿

excelvba激活工作簿

職場 更新时间:2025-01-27 14:02:53

工作中常會需要在多個工作簿中進行數據讀寫,這樣在VBA代碼中就會涉及幾個工作簿之間的切換,将工作簿切換到激活狀态,代碼的編寫也簡潔,明了些。(當然你的代碼也可每次都寫明操作的哪個工作簿與工作表)

工作簿有與工作表類似的激活語句:Workbooks(工作簿名稱).Activate,工作簿名稱要含工作簿文件的後綴名的。Workbooks(工作簿索引号).Activate,工作簿索引号是指工作簿打開的順序,Excel根據工作簿打開的順序以1開始進行編号。Workbooks(工作簿索引号) 這個用法實用性低,工作表的索引順序一眼可以看出來,工作簿索引易受手動打開的EXCEL文件影響。

實用性用法:Set WB = Workbooks.Open(文件全名),Open 裡必須是全路徑 文件名。對每一個工作簿打開時,賦值于一個變量,需要用此工作簿時,WB.Activate;wb1.Activate這樣代碼更清晰。附:有些Excel文件帶有“引用鍊接”,打開後會彈出是否要更新的提示(如下圖),影響代碼的運行。用 DisplayAlerts = False 是不能屏蔽這種更新提示的,必須是Workbooks.Open(文件全名,UpdateLinks:=0),UpdateLinks參數 0,為不更新;1 更新外部引用,不更新遠程引用 ;2 更新遠程引用,不更新外部引用; 3 更新外部引用,更新遠程引用

excelvba激活工作簿(EXCELVBA工作簿的切換)1

對于在不同SUB過程間要用到的工作簿,可以申明為模塊級變量,可以在同模塊的不同SUB中直接使用。如圖:

excelvba激活工作簿(EXCELVBA工作簿的切換)2

對于不同模塊的Sub過程調用工作簿,這種用法就隻能傳參。

Workbooks(工作簿名稱).Activate 的用法是可以跨SUB子過程的。

Application.Goto 也有同樣激活工作簿的功能,并且不會将指定的工作簿顯示到打開文件的最前面來。具體用法:Application.Goto Workbooks(工作簿名稱).Sheets(1).[A1] ,必須指定到具體單元格。

在打開的工作簿中找到含某關鍵字的工作簿代碼 Dim wb As Workbook,s As String For Each wb In Workbooks 'Workbooks 已打開的工作簿的集合 s = wb.Name If s Like "關鍵字*" Then Workbooks(s).Activate Exit For End If Next wb

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关職場资讯推荐

热门職場资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved