vba第二十四課

2020-09-06 徐員外

vba第二十四課

工作表拆分

工作表拆分是指把工作薄內的單個或多個工作表獨立成一個工作薄,此功能還是比較實用的。

例:

Sub 工作表拆分()

Dim wk As Workbook, a!, b$

Application.DisplayAlerts = False

For a = 1 To Sheets.Count

mypath = ThisWorkbook.Path

b = mypath & "\" & Sheets(a).Name

Set wk = Workbooks.Add

Workbooks("24.xlsm").Sheets(a).copy ActiveWorkbook.Sheets(1)

wk.SaveAs b

wk.Close

Next

Application.DisplayAlerts = True

End Sub

注釋:

mypath = ThisWorkbook.Path

當前代碼所在的工作薄的路徑

b = mypath & "\" & Sheets(a).Name

獲得工作薄中工作表名和路徑並賦值給「B」

Set wk = Workbooks.Add

新建一個工作薄

Workbooks("24.xlsm").Sheets(a).copy ActiveWorkbook.Sheets(1)

複製工作薄名為24.xlsm中的第a個工作表到當前活動工作薄第一個工作表的前面

注意,當Workbooks.Add運行完後會把新建的工作薄設為當前活動的工作薄

wk.SaveAs b

把新建的工作薄另存為「b」,這就是為什麼b 等於 mypath & "\" & Sheets(a).Name,這就是為saveas代碼作鋪墊,表示存在哪裡,叫什麼名稱,否則的話會存在默認的保存位置

wk.Close

關閉工作薄

不知大家能不能理解這些代碼,在運行時可以單步運行,並注意觀意本地窗口變量的值的變化,試著寫一下多運行幾次就可以慢慢理解

如果覺得有幫助的話記得關注和點讚,有不懂的地方可以私信我,需要表格素材的也可私信給我轉發給你們。

如果各位在實際工作中遇見excel常規方法無法解決的或操作比較複雜的報表可以私信我,可以免費編寫代碼來解決!

相關焦點

  • vba第二十二課
    vba第二十二課工作表的運用實例在workbook對象中,有一個sheets集合,其成員是worksheet對象或chart對象。).nameEnd sub注釋:Sheets(1)表示工作薄中的第一個工作表,第二個為
  • vba第二十五課
    vba第二十五課單元格區域Range:代表某一單元格、某一行、某一列、某一選定區域寫法:range(「文件型單元格地址」),因為是文本型所以要加上雙引號,如果引用的區域有變量,則變量不能用雙引號,只能用連接符」&」,如Range("a
  • vba第二十一課
    vba第二十一課工作薄運用實例在一些跨工作薄的數據調取數據或多個工作薄中循環調取數據,那麼我們就要熟練掌握工作薄的代碼的書寫,只要運行程序就可以獲得數據,下面看一段代碼例:Dim wk As Workbook
  • vba第三十一課
    vba第三十一課合併單元格例:Sub 合併單元格()Application.DisplayAlerts = FalseDim a,bWith Sheets(1)a = .[a100].End(xlUp).Row獲取到最後一行的行號3、For b = a To 2 Step -1從最後一行開始往上合併並且到第二行就停止,原因是因為從上往下合併會不在功,假設a2與a3相等進行合併,當程序運行到a4時,a3已為空值(因為合併只保留第一個單元格的值),所以a3等於空,而a4的值為一班,不能合併,而由下往上合併不存在這個問題,所以一般合併單元格都是由下往上合併
  • vba第十六課
    vba第十六課錯誤分支語句1On error resume next 例:sub onerror()Dim a!
  • vba第二十七課
    vba第二十七課使用區域的統計usedrange返回一個range屬性,該對象表示指定工作表上所使用的區域例:Sub 使用區域()Sheet
  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • vba第十八課
    vba第十八課調用工作表函數在vba中我經常會對工作表的數據進行一些運算,雖然通過代碼進行循環或判斷也可以完成,但是通vba調用函數可以更簡單更直接進行運算提高代碼的運行效率,比如countif、sumif等需要進行判斷統計和求和的運算。
  • vba第十三課
    vba第十三課for……next這個語句在VBA編程中運用的最廣,就我個人而言我很少用do……loop,而用for……next較多,它與do……loop語句的區別就是for……next語句自帶計數器,而do語句要達到計數的效果只能用累加的方式去做(如a=a+1),什麼是計數器呢
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    最後,定義一個方法,讓vba調用。如下圖:這個方法的上方套上一個 xlwings 的裝飾器 @xw.func。表示這個方法需要註冊到 Vba 模塊中。如下圖:點一下上圖紅框部分,即可註冊你的 py 文件中的自定義方法到 vba 中。他大致原理是讀取 py 文件中的方法,然後相應在 vba 中生成名字和參數一樣的 vba 方法。
  • 【VBA語法篇】第二課:VBA語句之select判斷語句使用
    本節課主要講解語法篇的第二課,VBA當中的select判斷語句的使用。
  • 五年級英語課外輔導第二十四課 give引導句,be going to 的句型
    五年級英語課外輔導第二十四課話題 life in the ArcticKey wordsWork 工作 make
  • VBA代碼大全030:用vba強制關閉word應用程式
    這時候一般的套路都是在excel vba中創建word應用程式實例,然後一番操作以後關閉word應用程式。 關於在vba中使用dos命令可以看往期文章用VBA執行DOS命令
  • VBA學習筆記 1-1
    問題:怎麼讓宏出現在加載項位置 😔alt+11調出vba窗口ctrl+r 調出工程資源管理器vba續行符_手敲代碼 這個字不能大一點嗎!文件設定格式:工具 選項 編輯器我終於把這個狗字體放大了 好了第一章結束第二章
  • 一個新手關於Excel VBA中IF條件判斷語句的學習理解心得
    而整個流程中判斷也的確有著控制流程走向的作用,可以說循環,判斷,數組是vba的三駕馬車,絕大部分的問題都是他們仨來解決的。其中for循環和if是新手最先學到的東西,今天我就來分享一下我這個新手在安裝"閥門"的時候遇到過的坑。
  • Excel VBA常用代碼!
    來看看都是哪些常用代碼:下面先舉一個簡單的例子:場景再現:在當前的工作表中插入一張e盤中名為1.jpg的圖片(長350、高300,距離Excel左側90、上邊框230)操作方法:第一步,打開vba代碼區
  • VBA代碼大全010:用vba遍歷文件夾及其子文件夾內的文件
    vba老手都知道,vba寫多了,其實都是在做循環。循環處理多個單元格的內容,循環處理多個工作表的內容,循環處理多個工作簿的內容。
  • EXCEL表格詳解vlookup第五彈-VBA自己寫myLookup函數
    第一步:打開Excel的vba編輯器,菜單欄找到 「開發工具」 --> 「Visual Basic」,或者按 Alt + F11,打開 VBA 編輯器,開始我們的代碼之旅。如下圖。打開vba編輯器第二步:在Excel工程中,右鍵點擊,選擇「插入」-> "模塊",創建一個模塊,如下圖。
  • 《默示錄》第三十四課:巴比倫的徹底毀滅
    相關文章連結:系統讀經:《默示錄》第一課 序言《默示錄》第二課 本書的文學體裁,問候辭《默示錄》第三課:兩則神諭,帕特默島《默示錄》第四課:復活之主顯現若望《默示錄》第五課:主耶穌給厄弗所教會的信息《默示錄》第六課:斯米納教會《默示錄》第七課:培爾加摩教會
  • Excel VBA 實例(22) - 一鍵篩選其他工作表或工作簿的數據
    今天說的這個vba實例還是和學校有關。