神奇的Excel VBA系列之:如何判斷某工作表是否存在

2020-08-30 神奇的VBA

在前一篇文章中分享了製作工作表目錄的源碼過程。 其中有個判斷當前工作簿中是否存在指定名稱的工作表代碼片段。 本篇中將介紹幾種使用VBA代碼來判斷工作表是否存在的方法。有關Excel VBA編程,可參考使用《神奇的VBA》插件。

假設我們想判斷工作簿中是否有名稱為「東門子訂單數據」的工作表。

第一種方法: 使用VBA遍歷循環的方法

Sub 判斷工作表是否存在_方法2()Dim d As ObjectSet d = CreateObject(&34;)Dim sht As WorksheetFor Each sht In Worksheets d(sht.Name) = &34;NextIf d.exists(&34;) Then MsgBox &34;Else MsgBox &34;End IfEnd Sub

該方法中綜合運用了,For Each遍歷循環語句和 Exist Sub語句來返回是否存在的結果。 這種方法VBA初學者最開始會選用這種思路。不過對於初學者而言,務必注意在循環語句中加入Exist Sub,否則將永遠顯示不存在。

第2中方法: VBA 字典方法

Sub 判斷工作表是否存在_方法2()Dim d As ObjectSet d = CreateObject(&34;)Dim sht As WorksheetFor Each sht In Worksheets d(sht.Name) = &34;NextIf d.exists(&34;) Then MsgBox &34;Else MsgBox &34;End IfEnd Sub

第3種方法: 巧妙運用On Error...錯誤語句方法來判斷是否存在。

Sub 判斷工作表是否存在_方法3()Dim sht As WorksheetOn Error Resume NextSet sht = Worksheets(&34;)If Not sht Is Nothing Then MsgBox &34;Else MsgBox &34;End IfSet sht = NothingEnd Sub

我們也可以將平時職場VBA編程中高頻重複的代碼片段寫成通用函數,以便其它VBA程序調用。以第一種方法為例。 我們改造寫成如下Function函數代碼形式:

我們將函數名隨便起了個名字叫IsSheetExisted,函數只有一個字符串型參數tabname代表以後要傳入的工作表標籤名稱,函數返回Boolean類型結果(True/False)。下面,我們就可以在其它VBA程序中使用該函數了,見下面代碼:

Sub 判斷工作表是否存在()MsgBox IIf(IsSheetExisted(&34;), &34;, &34;)End Sub

我們也可是在單元格區域中使用上面的IsSheetExisted函數。

暫時就簡單介紹到這裡!上面源碼複製下來,自己試一下吧。可下載優秀職場人必備的工具《神奇的VBA》插件,一款嵌入進Excel軟體窗口功能區界面的應用,打開任意Excel工作簿就能隨時參考查閱學習VBA編程的Excel 插件。

相關焦點

  • 使用VBA代碼完成判斷工作表是否存在及刪除工作表的方法
    NO.174-NO.175內容是:NO. 174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除NO. 175:利用VBA的自定義函數,判斷工作表是否存在 VBA過程代碼174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除
  • 運用Excel-vba合併工作表數據
    如下圖,工作簿中共有以下幾個工作表,現希望將各張工作表中的數據合併在一起。1.打開vba編輯器:右鍵單擊任意工作表,選擇「查看代碼」。Next '如遇錯誤繼續運行Application.ScreenUpdating = False '關閉屏幕刷新Application.DisplayAlerts = False '禁用警告提示Worksheets("匯總").Delete '刪除原匯總表Set ws = Worksheets.Add(before:=Sheets(1)) '新建工作表
  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 工作表拆分,VBA用了30行,Python只有8行
    工作中,很多小夥伴都會遇到一些需求,將一份Excel文檔按照部門進行拆分,每個部門是一個單獨的工作表。讀者需要注意的是,多個工作表的拆分,始終在一個工作簿內操作。讓我們一起通過Python來實現。本例目標:根據指定的Excel文件按照部門拆分成多個工作表。最終效果:按照部門生成工作表。技術點:groupby()方法的使用,Excel的追加模式等。
  • VBA代碼判斷工作簿中是否存在指定工作表及用數組保存數據的方法...
    NO.176-NO.177內容是:NO. 176:使用自定義MyExistSh函數判斷工作簿中是否存在指定名稱的工作表NO. 177:使用Array函數創建一個數組用來保存數據並將其寫入到工作表的單元格區域VBA過程代碼176:使用自定義MyExistSh函數判斷工作簿中是否存在指定名稱的工作表Sub mynz()Dim Sh As
  • excel根據目錄新建工作表及工作薄,再也不用一個一個的製作了
    Hello,大家好,今天跟大家分享下我們如何根據目錄批量的新建工作表以及工作薄,這是一個粉絲提問的問題,要求根據姓名批量的新建工作表以及工作薄,開始之前先跟大家講解什麼是工作表以及工作薄,因為真的有很多人都分不清這兩個的區別工作薄:就是我們創建的excel文件,在電腦看到的
  • Python和VBA巔峰對決-工作表的合併
    大家好,我是【Python辦公自動化】:閒暇之餘分享點文字、編程、設計等乾貨,希望和你一起成長。一起學習Python辦公自動化,教你快速學習Python的方法,可以站內私信我。一起加油!!!工作中,很多小夥伴都會遇到一些需求,將一份Excel文檔按照每個部門整理的工作表匯總為一份總的工作表。每個工作表格式都一樣,但是數量很多。
  • Excel VBA 批量匯總多個工作表,您只需要在一瞬間完成
    今天主要和大家介紹的是,我們如何在Excel中使用vba代碼來完成多個工作表的匯總工作。在某些時候,我們經常需要處理如下圖的工作表數據匯總工作,將其他月份的數據統一匯總到同一個工作表中。大多數人都是用手動粘貼複製來完成這個重複性的工作,那麼在你學習了本篇,你就會用更高的效率去完成這個事情了。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    系列文章學Python還不會處理Excel數據?帶你用pandas玩轉各種數據處理「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel「Python替代Excel Vba」系列(三):pandas處理不規範數據「Python替代Excel Vba」系列(四):課程表分析與動態可視化圖表前言有小夥伴向我反映到,本系列前面的章節主要還是在講 pandas ,幾乎與 xlwings 沒有啥關係
  • 奇妙的VBA代碼之二十八:EXCEL中,如何批量刪除工作表中的空白行
    今日講解奇妙的VBA代碼之二十八:EXCEL中,如何批量刪除工作表中的空白行。要首先講解的是Range對象的Delete方法,此方法用於刪除對象。語法:expression.Delete(Shift)參數:a) expression是必需的,返回一個Range對象。b) Shift是可選的,指定刪除單元格時替補單元格的移位方式。
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    請關注本號,更多乾貨,立刻送達~~系列列表學Python還不會處理Excel數據?帶你用pandas玩轉各種數據處理前言在本系列的上一章已經介紹了如何讀寫 excel 數據,並快速進行匯總處理。但有些小夥伴看完之後有些疑惑:那只是簡單讀寫數據而已,有時候需要設置 excel 的格式。
  • VBA代碼解決方案之二十五:EXCEL工作表的添加與刪除
    今日繼續講解VBA代碼解決方案的第二十五講:工作表如何添加和刪除。在VBA解決方案中,在工作簿中添加工作表使用Add方法,Add 方法應用於Sheets和Worksheets對象時新建工作表、圖表或宏表。
  • excel工作表如何加密
    我們在使用excel製作工作表後,有的時候在打開工作表時需要輸入密碼才可以正常訪問,那麼應該如何設置訪問密碼呢,今天和大家聊聊如何給excel工作表加密首先打開Excel工作表,找到左上角的文件,點擊文件選擇另存為,如圖:
  • 如何給Excel工作表加密
    在給領導和客戶看excel工作表的時候,我們如果不想別人修改或者刪除excel工作表的數據,可以設置excel工作表保護,具體操作方法如下:1、給工作表加密保護首先打開要進行加密保護的工資表要加密工資表2、「文件保護」對話框依次打開工作表文件菜單下的「文件加密」對話框。
  • 如何批量刪除Excel工作表
    文/江覓如果一個工作薄中的工作表比較多,想要批量刪除工作表就顯得十分不方便,Excel vba是個特別好的工具,在此做了一個小工具,可以批量也可以選擇刪除工作表。按鈕說明此工作薄:批量刪除工作表工具工作薄,聽上去十分拗口,就是本工具的Excel工作表。打開工作薄:可以選擇想要刪除表的工作薄,這一點做得很自由,可以以窗口形式來選擇刪除工作薄。關閉工作薄:很顯然,就是把打開的工作薄關閉。刪除表:執行刪除表,刪除前要首先選擇表,如果沒有表,也不會刪除,並且刪除前有一個提示,是否刪除,多一個提示避免誤操作。
  • 職場小白必學操作技巧,如何管理excel工作表
    我們在實際工作中,我們經常使用excel表格處理數據,我們新建一個excel文件後,我們通常會在一個工作表中新建多個sheet表,我們可以對sheet表進行重命名設置,我們可以對excel工作表進行複製,我們也可以移動工作表。
  • 奇妙的VBA代碼之二十九:EXCEL中,如何快速刪除重複數據行
    各位好,今天開始講VBA代碼解決方案的二十九講:在EXCEL中,如何藉助於代碼來快速完成刪除重複行的工作,其實在實際的工作中這個工作是經常用到的,excel中有沒有重複的數據,是EXCEL數據統計中非常重要的工作的工作之一,也是經常要處理的工作之一。
  • excel如何實現更改數據就自動填充顏色的功能?你需要用到它
    Hello,大家好,工作中是不是有遇到這樣的情況,當我們做好的表格發給領導後,領導修改了下說可以了,但是因為數據太多,不知道修改了哪裡,十分的鬱悶,今天就跟大家分享下在excel中如果別人更改了單元格就會自動的填充顏色實現這樣的功能我們需要使用excel中的vba代碼來實現
  • Vba第四十三課
    Vba第四十三課關於vba操作工作表、數組、字典等所有的基本功能如果大家仔細去學習、認真敲代碼的話,數據分析應該是入門,當然vba作vb的分支語言,在office的平臺上去運行還是大有作為的,更深層次的功能都相當不錯,而前面的課程所講的功能基本可以定義為少量數據的清洗運算功能,要達到數據分析的水平是遠遠不夠的,比如操作資料庫、自定義函數等等都是數據分析的一些必要技巧
  • excel編程系列基礎:典型的判斷語句應用技巧
    今天是第四篇VBA實戰入門教程,我們將給大家帶來VBA中最常見語句之一,判斷語句。典型的判斷語句有2種,分別是IF判斷語句和SELECT判斷語句。學習更多技巧,請收藏關注部落窩教育excel圖文教程。 【前言】 上一篇的循環語句同學們都學會了嗎?