利用VBA代碼顯示工作簿路徑及完全路徑的方案及對工作薄的操作

2021-01-07 VBA語言專家

分享成果,隨喜真能量。大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.139-NO.142內容是:

NO.139:如何做到顯示工作簿的路徑

NO.140:如何做到顯示工作簿的名稱和完全路徑

NO.141:關閉當前宏代碼運行的工作簿,不保存對工作簿的任何更改

NO.142:建立新的工作簿並對新建工作簿進行操作。

VBA過程代碼139:如何做到顯示工作簿的路徑。

Sub mynz()

MsgBox "名稱為:" & Workbooks("book21.xlsm").Path

End Sub

代碼的解析說明:上述過程過程顯示工作簿「book21」的路徑。

VBA過程代碼140:如何做到顯示工作簿的名稱和完全路徑

Sub mynz()

MsgBox "第一個打開的工作簿名字為:" & Workbooks(1).Name

MsgBox "包括完整路徑的工作簿名稱為:" & Workbooks(1).FullName

End Sub

代碼的解析說明:上述過程過程用 MsgBox 對話框顯示"第一個打開的工作簿名字。

VBA過程代碼141:關閉當前宏代碼運行的工作簿,不保存對工作簿的任何更改

Sub mynz()

ThisWorkbook.Close SaveChanges:=False

End Sub

代碼的解析說明:上述過程過程使用Close方法關閉當前宏代碼運行的工作簿,不保存對工作簿的任何更改。

注意 本屬性僅可在 Microsoft Excel內使用。不能使用此屬性訪問任何其他應用程式的工作

VBA過程代碼142:建立新的工作簿並對新建工作簿進行操作

Sub mynz()

Dim Nowbook As Workbook

Dim ShName As Variant

Dim Arr As Variant

Dim i As Integer

Dim myNewWorkbook As Integer

myNewWorkbook = Application.SheetsInNewWorkbook

ShName = Array("餘額數", "單價數", "數量", "金額數")

Arr = Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")

Application.SheetsInNewWorkbook = 4

Set Nowbook = Workbooks.Add

With Nowbook

For i = 1 To 4

With .Sheets(i)

.Name = ShName(i - 1)

.Range("B1").Resize(1, UBound(Arr) + 1) = Arr

.Range("A2") = "品名"

End With

Next

.SaveAs Filename:=ThisWorkbook.Path & "\" & "庫存.xlsx"

.Close Savechanges:=True

End With

Set Nowbook = Nothing

Application.SheetsInNewWorkbook = myNewWorkbook

End Sub

代碼的解析說明:上述過程使用Add方法建立新的工作簿並對新建工作簿進行操作。

代碼將Application對象的SheetsInNewWorkbook屬性設置為4,在新建工作簿時插入4張工作表。使用Add方法建立新的工作簿,應用於Workbooks對象的Add方法新建工作簿,新建的工作簿將成為活動工作簿。代碼使用SaveAs方法將新建工作簿重命名為「庫存.xls」保存在同一目錄中。代碼使用Close方法關閉工作簿。

VBA實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA教程,這些是我多年編程經驗的記錄,也是我「積木編程」思想的體現。每一講都是較大塊的「積木」,可以獨立的完成某些或者某類的過程,有需要的朋友可以聯絡(WeChat:NZ9668)分享。利用這些可以提高自己的編程效率。

① 第一套「VBA代碼解決方案」PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備。

② 第二套「VBA資料庫解決方案」PDF教程。資料庫是數據處理的利器,對於中級人員應該掌握這個內容了。

③ 第三套「VBA數組與字典解決方案」PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。

④ 第四套「VBA代碼解決方案」視頻教程。目前正在錄製,「每天20分鐘,半年精進VBA」,越早參與,回饋越多。現在錄製到第二冊的84講,第二級階段的優惠期即將結束。

相關焦點

  • 奇妙的VBA代碼:不同的EXCEL文件之間的切換方法(工作薄的引用)
    在操作EXCEL中,不同的工作簿之間切換是經常要做的工作,那麼如何用VBA代碼來完成這些操作呢?下面我將介紹給大家幾種方法。供大家借鑑。我們先要了解什麼是工作簿,工作薄是指Excel文件的文件名,那麼什麼是工作表呢?工作表就是工作薄內不同的工作頁。我們今日要研究的是工作薄的問題。
  • VBA中關閉工作薄,創建工作薄,判斷工作薄之過程代碼
    大家好,今天繼續和大家分享VBA編程中常用的簡單「積木」代碼第71-73講的過程代碼。這也是我「搭積木」編程中利用到的積木。越簡單的事物往往越容易理解,簡單的過程組合起來就是一個複雜的過程,我們要先認真掌握這些簡單的過程,才能在可以為我們複雜的工程服務。
  • 利用VBA代碼禁用觸發事件及對工作薄修改的保存方案
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.143-NO.145內容是:NO. 143:禁用EXCEL工作簿右上角的關閉按鈕NO. 144:使用Workbook對象的Save方法保存工作簿的更改,如下面的代碼所示。
  • 利用VBA保存工作薄及使用VBA代碼自動生成圖表的方案
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.146-NO.147內容是:NO. 146:利用SAVE方法,SaveAs方法,SaveCopyAs方法保存工作薄NO. 147:使用VBA代碼自動生成圖表 VBA過程代碼146:利用SAVE方法,SaveAs方法,SaveCopyAs方法保存工作薄Sub mynz()On Error GoTo 100
  • 遍歷工作薄和工作表(For Each循環的利用)
    今日的內容是「VBA之EXCEL應用」的第三章「工作簿(Workbook)和工作表(Worksheet)對象(Object)」中第三節「遍歷工作薄和工作表(For Each循環的利用)」。「VBA之EXCEL應用」這套教程從簡單的錄製宏的講解,一直到窗體的搭建,內容豐富,案例眾多。
  • 如何保存含宏指令(VBA代碼)的Excel工作簿
    通常情況下,在使用Excel處理數據時,如果碰到需要進行較多的重複性操作,可以通過錄製宏命令來,將這些操作指令記錄下來,然後讓Excel傻瓜式的運行這些指令,即可實現化繁為簡,在提高工作效率的同時還能保證質量的穩定,這就是為啥有些人在處理重複性操作時,是那麼的得心應手,而有的人卻是那麼舉步維艱,叫苦連天。
  • 分享一組實用的VBA常用編程代碼語句
    集合中的每一個元素Wb 都要執行一次保存的操作。在判斷是否是已經存在的文件時用到了If wb.Path <> "", wb.Path會返回工作薄的路徑。VBA過程代碼53:將工作簿以指定名保存在默認文件夾中Sub MyNZ()MsgBox "將工作簿以指定名保存在默認文件夾中."
  • 工作簿和工作表的屬性(Properties)和方法(Methods)
    大家可以非常容易的掌握相關的知識,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。第二節 工作簿和工作表的屬性(Properties)和方法(Methods)大家好,我們這講講解工作簿和工作表集合的一些屬性和方法。什麼是屬性和方法呢?
  • excel批量拆分工作簿,用VBA一鍵拆分,把數據分解到N個工作簿
    在各行各業的日常工作中,經常需要把一份工作表的內容歸類拆分到N個工作簿,最基礎的辦法就是通過篩選、排序歸類數據,然後複製原數據,再新建工作簿,粘貼數據,如此往復......如果數量較小,這樣操作沒問題,如果分類的數據非常多,要新建幾百,幾千個工作簿,那就是一個非常大的工作量了。
  • VBA中判斷工作薄是否打開及備份工作薄之過程代碼
    大家好,今天繼續和大家分享VBA編程中常用的簡單「積木」過程代碼第74-75講。這也是我「搭積木」編程中利用到的積木庫。越簡單的事物往往越容易理解,簡單的過程組合起來就是一個複雜的過程,我們要先認真掌握這些簡單的過程,才能在可以為我們複雜的工程服務。
  • 奇妙的VBA代碼:如何根據需要創建EXCEL工作簿文件
    各位好,今日我們講VBA代碼的第三十一講,如何新建EXCEL工作薄文件。對於工作薄的解釋,我們在之前的文章中已經講解過,要注意工作薄和工作表的概念。工作薄是文件,工作表是工作薄的工作頁。在VBA中使用Add方法新建工作簿。
  • 「搭積木」編寫VBA程序,事半功倍
    下面是我根據自己20多年的VBA實際利用經驗,編寫的四部經驗教程,這些是較大塊的「積木」,可以獨立的完成某些或者某類系統的過程,歡迎有需要的朋友聯絡(WeChat:NZ9668)分享。利用這些可以提高自己的編程效率,選擇好積木,搭好積木。第一套:《VBA代碼解決方案》是VBA中各個知識點的講解,覆蓋了絕大多數的知識點。
  • Excel VBA工作薄 5.1 批量創建工作薄 VBA絕對是最快的
    場景模擬 今天我們主要分享的是如何通過VBA來進行批量工作薄的創建,這個操作在之後的學習中會經常用到,今天我們模擬的場景是,假設現在我們有公司每個銷售員的銷售記錄,我們要分開一個一個工作薄,方便在結算業績的時候一起發送,也方便員工核對自己的業績,不過每個公司的銷售員有很多,我們如果一個個的手工創建再複製粘貼的話,會非常的麻煩,這時候輪到VBA大展身手了方法分析
  • Excel將同一個工作薄中的多個工作表分別另存為獨立工作簿
    上篇我們剛剛說過,將Excel多工作表數據匯總到一個工作表,但是有時候我們需要將同一個工作簿裡的不同工作表,分別另存為單獨的工作薄;如果只是一兩張工作表需要這樣處理,我們手工操作複製新建粘貼保存,可如果是數量非常大,這個時候你用手工操作顯得格格不入。我們今天還是想告訴你,用VBA來處理這件事,那麼你會發現這事就非常簡單了,功成名就就在你眼中。
  • VBA過程代碼之工作表操作
    此操作類似於在工作表名稱上右鍵點擊撤銷保護工作表VBA過程代碼13:給活動工作表改名為 "HH"Sub MyNZ()ActiveSheet.Name = "HH"End sub代碼的解析說明:上述代碼過程將給當前活動工作表改名為 "HH",這裡面利用了一個.Name屬性,通過這個屬性給工作表重新命名。
  • 使用VBA,一鍵查找出多個工作簿下所有工作表內的值
    前幾天寫了一個一鍵合併多個EXCEL工作簿的代碼之後,有網友提出能不能寫一個一鍵查找多個工作簿下所有工作表內的值,並將這些值自動標紅的代碼。我覺得這是個非常實用的技能,於是花了點心思研究出來了,並稍稍將代碼優化了下,以便適應於更多場景。
  • 你的第一行VBA代碼
    今天帶你寫第一行vba代碼1.新建啟用宏的工作簿:打開excel軟體,將文件保存為啟用宏的工作簿:2. 點擊「文件」-》「選項」,把開發工具選項卡加到頂部選項卡:3.去除個人信息設置:將隱私選項中的保存個人信息勾選框取消勾選。
  • 利用VBA代碼實現Msgbox函數定製化消息框
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.155-NO.156內容是:NO.155:Msgbox函數實現定製化人機對話消息框NO.156:在關閉工作簿前使用MsgBox函數顯示一個消息框,並根據用戶的回應用進行相應的操作。
  • Excel用VBA代碼一鍵合併匯總多個工作簿,省時省力必學!
    有時候,你需要將幾十個工作簿中的內容,快速匯總至合併至一個工作簿,如果手動一個複製粘貼,那心裡有苦說不出。。。今天將大家用VBA一鍵合併,只需要幾秒種,為了測試這段代碼,我們新建了4個工作簿在文件夾中,數據都是模擬的,做試驗一鍵合併代碼操作如下所示:我們看原始表格數據,其中,第1個工作簿有點特殊,這個工作簿中,有兩個工作表,第1個工作表的內容是:第2個工作表的內容是:第2,3,4個工作簿中都是僅有
  • VBA代碼自動讓一個空閒工作薄關閉
    第三節 利用VBA代碼,讓一個工作薄在空閒後自動關閉在工作中,我們經常會遇到一種情況,打開一個EXCEL時,進行了必要的編輯,往往會忽略關閉這個動作,有沒有一個辦法讓工作薄自動關閉呢?也就是說在這個工作薄打開後過了3分鐘或者10分鐘沒有編輯的情況下,可以自動關閉呢?