VBA代碼判斷工作簿中是否存在指定工作表及用數組保存數據的方法...

2021-01-08 VBA語言專家

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

NO. 176:使用自定義MyExistSh函數判斷工作簿中是否存在指定名稱的工作表

NO. 177:使用Array函數創建一個數組用來保存數據並將其寫入到工作表的單元格區域

VBA過程代碼176:使用自定義MyExistSh函數判斷工作簿中是否存在指定名稱的工作表

Sub mynz()

Dim Sh As String

Sh = InputBox("請輸入查找的工作表名稱:")

If Len(Sh) > 0 Then

If Not MyExistSh(Sh) Then

MsgBox "對不起,您查找的" & Sh & "工作表不存在!"

Else

Sheets(Sh).Select

End If

End If

End Sub

代碼的解析說明:myn過程使用自定義的MyExistSh函數判斷工作簿中是否存在指定名稱的工作表,如果不存在則使用消息框進行提示.

VBA過程代碼177:使用Array函數創建一個數組用來保存數據並將其寫入到工作表的單元格區域

Option Base 1

Sub mynz ()

Dim arr As Variant

Dim i As Integer

arr = Array("A111", "A222", "A333", "A444", "A555", "A666", "A777", "A888")

For i = LBound(arr) To UBound(arr)

Sheets("59").Cells(i, 1) = arr(i)

Next

End Sub

代碼的解析說明:mynz過程使用Array函數創建一個數組用來保存數據並將其寫入到工作表的單元格區域。Option Base語句聲明數組下標的預設下界為1,數組下標的預設下界默認為0。代碼使用Array函數創建數組用來保存數據。使用LBound函數和UBound函數取得數組的最小和最大下標。確定數組的大小後使用For...Next語句遍歷數組元素並將數組元素依次寫入到工作表的A列單元格中。

VBA是實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA教程,這些是我多年編程經驗的記錄,也是我「積木編程」思想的體現。每一講都是較大塊的「積木」,可以獨立的完成某些或者某類的過程,有需要的朋友可以聯絡(WeChat:NZ9668)分享。利用這些可以提高自己的編程效率。其一:「VBA代碼解決方案」PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備;其二「VBA資料庫解決方案」PDF教程,資料庫是數據處理的利器,對於中級人員應該掌握這個內容了。其三「VBA數組與字典解決方案」PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。其四「VBA代碼解決方案」視頻教程。目前正在錄製,「每天20分鐘,半年精進VBA」,越早參與,回饋越多。現在錄製到第三冊的99講。

相關焦點

  • 使用VBA代碼完成判斷工作表是否存在及刪除工作表的方法
    NO.174-NO.175內容是:NO. 174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除NO. 175:利用VBA的自定義函數,判斷工作表是否存在 VBA過程代碼174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除
  • Excel VBA:匯總多個工作簿每個工作表名稱包含指定關鍵詞的數據
    今天再分享下匯總指定文件夾下每個工作簿中工作表名稱包含某個指定關鍵詞的小代碼(當不指定關鍵詞時,則默認匯總所有工作表數據)。舉個慄子。假設有一文件夾,內有十幾個工作簿,每個工作簿又各有多個不等數量的工作表,現在我們只想匯總每個工作簿中工作表名稱包含「看見星光」的數據,那就可以使用我們今天分享的小代碼了。
  • VBA代碼解決方案第58講:在VBA中查找指定工作表的實用方法
    大家好,我們今日繼續講解VBA代碼解決方案的第58講內容:在VBA中查找指定工作表的方法。在上一個例子中,我們通過一個自定義函數解決了刪除工作表的方法。其實實現目的的方法有很多種,不必要必須有某種辦法,但是寫程序的人,比如我,有著很大的惰性,或者說是偏愛某一種方法,比如,我特別喜歡用LEFT和RIGHT來進行左右的截取操作,雖然很多的時候用MID會更簡單些,唉,真的沒辦法。在完成某項目的也是如此,如果不是用自定義函數,只是用遍歷工作表的方法也可以實現的。今天的例子也是如此。
  • 神奇的Excel VBA系列之:如何判斷某工作表是否存在
    在前一篇文章中分享了製作工作表目錄的源碼過程。 其中有個判斷當前工作簿中是否存在指定名稱的工作表代碼片段。 本篇中將介紹幾種使用VBA代碼來判斷工作表是否存在的方法。有關Excel VBA編程,可參考使用《神奇的VBA》插件。
  • 工作簿和工作表的屬性(Properties)和方法(Methods)
    今日的內容是「VBA之EXCEL應用」的第三章「工作簿(Workbook)和工作表(Worksheet)對象(Object)」中第二節「工作簿和工作表的屬性(Properties)和方法(Methods)」。「VBA之EXCEL應用」這套教程從簡單的錄製宏的講解,一直到窗體的搭建,內容豐富,案例眾多。
  • 運用Excel-vba合併工作表數據
    如下圖,工作簿中共有以下幾個工作表,現希望將各張工作表中的數據合併在一起。1.打開vba編輯器:右鍵單擊任意工作表,選擇「查看代碼」。2.輸入代碼:雙擊"ThisWorkbook",在代碼窗口中輸入以下代碼:Sub 合併當前工作簿下的所有工作表()Dim ws As WorksheetDim sh As Worksheet, i%On Error Resume Next '如遇錯誤繼續運行Application.ScreenUpdating = False
  • 奇妙的VBA代碼:如何根據需要創建EXCEL工作簿文件
    各位好,今日我們講VBA代碼的第三十一講,如何新建EXCEL工作薄文件。對於工作薄的解釋,我們在之前的文章中已經講解過,要注意工作薄和工作表的概念。工作薄是文件,工作表是工作薄的工作頁。在VBA中使用Add方法新建工作簿。
  • VBA中關閉工作薄,創建工作薄,判斷工作薄之過程代碼
    VBA過程代碼71:關閉所有工作簿,若工作簿已改變則彈出是否保存變化的對話框Sub MyNZ()MsgBox "關閉當前所打開的所有工作簿"Workbooks.CloseEnd Sub代碼的解析說明:上述代碼用於關閉所有工作簿,如果工作簿已改變則彈出是否保存變化的對話框,Workbooks.Close由於後面沒有跟true
  • VBA代碼解決方案之二十五:EXCEL工作表的添加與刪除
    今日繼續講解VBA代碼解決方案的第二十五講:工作表如何添加和刪除。在VBA解決方案中,在工作簿中添加工作表使用Add方法,Add 方法應用於Sheets和Worksheets對象時新建工作表、圖表或宏表。
  • 工作表拆分,VBA用了30行,Python只有8行
    工作中,很多小夥伴都會遇到一些需求,將一份Excel文檔按照部門進行拆分,每個部門是一個單獨的工作表。讀者需要注意的是,多個工作表的拆分,始終在一個工作簿內操作。讓我們一起通過Python來實現。本例目標:根據指定的Excel文件按照部門拆分成多個工作表。最終效果:按照部門生成工作表。技術點:groupby()方法的使用,Excel的追加模式等。
  • 如何保存含宏指令(VBA代碼)的Excel工作簿
    除此之外,Excel還賦予了使用者極大的操作靈活性,使用者可以自己編輯VBA代碼,實現一些Excel本身常規操作無法實現的功能,如拼圖遊戲等。當需要的代碼指令已經錄製好或編輯好之後,又該如何將它們保存下來以便下次操作使用呢?本教程將介紹幾種方法幫你輕鬆搞定這一點。
  • 利用VBA代碼,輕鬆完成向工作表中添加指定圖片到指定位置
    今日分享的是第NO.215-NO.215,內容是:NO. 215:Insert方法在工作表中插入圖片********************************************************************VBA過程代碼215:Insert方法在工作表中插入圖片Sub MynzinsertPic()Dim i As
  • 「搭積木」編寫VBA程序,事半功倍
    第一套:《VBA代碼解決方案》是VBA中各個知識點的講解,覆蓋了絕大多數的知識點。第二套:《VBA資料庫解決方案》是數據處理的利器;第三套:《VBA數組與字典解決方案》中講解VBA的精華----字典。第四套:面向初學及中級以下學員的視頻《VBA代碼解決方案》正在錄製。 「每天20分鐘,半年精進VBA」活動正在火熱進行中,越早參與,回饋越多。
  • 簡單、易用的VBA過程積木代碼
    大家好,今天繼續和大家分享VBA編程中常用的簡單「積木」過程代碼第76-80講,內容是:保存當前工作簿的副本到其它位置備份;不顯示警告框;關閉屏幕刷新;獲取工作表的行數及當前工作表中已使用的行數;將當前工作表NZ移至工作表的最後等內容。 VBA過程代碼76:保存當前工作簿的副本到其它位置備份工作簿。
  • 如何將Excel數據表單元格保存為數組,VBA數組進階應用
    No.1在vba編程中,數組應用是一個十分有用的方法。如何把數據表作為數組進行處理,是編程過程中的一個重要技能。學會之後,將大大提高編程技術,也將使數據處理的過程變得更加流暢。No.2上圖為例,把表格內容作為數組值進行保存,然後通過流程編碼對成績進行一個比較判斷,最終得出一個成績等級的判定。
  • VBA中判斷工作薄是否打開及備份工作薄之過程代碼
    VBA過程代碼74:判斷工作簿是否已打開,'如果該工作簿已打開則子過程返回真Sub MyNZ()MsgBox "如果工作簿未打開,則打開該工作簿.""Exit FunctionEnd IfWorkBookNotOpen:End Function代碼的解析說明:本示例中的函數WorkbookOpen用來判斷工作簿是否打開。
  • VBA代碼解決方案第49講:VBA代碼中工作表函數SUM的利用方法 - VBA...
    大家好,我們今日繼續講解VBA代碼解決方案的第49講內容(註:在整理之前的VBA系列文章中合併了一些文章,重新成集排序為第49講,所以從這篇文章開始以新的排序計算):VBA中SUM函數的利用方法。對多個單元格求和,是統計工作中非常普遍的工作,在之前的函數講解過程中,我下了很大的氣力來講解SUM函數及其衍生的函數,在數組的講解中也講了此函數在數組中的利用,可以說SUM函數在統計工作中起著舉足輕重的作用,如果把這個函數利用好了,對自己的工作是非常方便的,今日我在VBA中就此函數的利用及規律再次加以講解。
  • VBA過程代碼之工作表操作
    受到保護後此時工作表的很多功能,包括錄入數據,是不可以的,利用這個功能可以有效的完成對工作表的保護。此操作類似於在工作表名稱上右鍵點擊保護工作表VBA過程代碼12:取消保護工作表Sub MyNZ()ActiveSheet.UnprotectEnd sub代碼的解析說明:上述代碼過程將取消當前的活動工作表的保護。
  • VBA 代碼程序運行時間的優化與視覺效果的兼顧
    所以,我們在工作中主要考慮的是視覺的效果,其次才是時間的節約。如何做到視覺的愉悅呢?下面我就來就一段實際的程序和大家分享。今天的程序讀者也可以作為一個工具利用。需求:建立一個工作薄1,寫入代碼,代碼執行首先打開另外一個指定工作薄2,把其中工作表sheet1中A,B列的內容寫入數組,然後關閉工作薄2,回到工作薄1,把數組數據保存到工作表1的CD列中。
  • 利用VBA代碼顯示工作簿路徑及完全路徑的方案及對工作薄的操作
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.139-NO.142內容是:NO.139:如何做到顯示工作簿的路徑NO.140:如何做到顯示工作簿的名稱和完全路徑NO.141:關閉當前宏代碼運行的工作簿,不保存對工作簿的任何更改NO.142:建立新的工作簿並對新建工作簿進行操作。 VBA過程代碼139:如何做到顯示工作簿的路徑。