Excel 中如何枚舉表單控制項,vba 編程學習

2020-12-04 江覓易見

做Excel 表格的時候,會有一些高級功能,需要添加一些表單控制項或Activex控制項來增加表格的操作性。

有時候,我們需要對表單控制項進行操作,那麼如何來一一枚舉出這些控制項呢?

下面介紹一下,枚舉方法:

表單控制項類型要判斷表內shape對象type是否是msoFormControl

代碼:If shp.Type = msoFormControl Then

然後再判斷表單類型 FormControlType,分別進行處理,或調用過程函數等。

表單類型表

完整代碼

Private Sub CommandButton1_Click()Dim shp As ShapeFor Each shp In Me.Shapes '遍歷表中shapes對象If shp.Type = msoFormControl Then '如果是表單對象 Select Case shp.FormControlType '判斷表單對象類型 Case xlEditBox MsgBox shp.Name Case xlButtonControl MsgBox shp.Name & " 是個按鈕" ' MsgBox shp.FormControlType '這裡添加去執行的過程或函數 Case xlLabel MsgBox shp.Name & " 是個標籤控制項" ' MsgBox shp.FormControlType '這裡可以設置相關屬性 Case xlDropDown MsgBox shp.Name & " 是個組合框" Case xlListBox MsgBox shp.Name & " 是個列表框" Case xlCheckBox MsgBox shp.Name & " 是個複選框" Case xlOptionButton MsgBox shp.Name & " 是個選項按鈕" Case xlGroupBox MsgBox shp.Name & " 是個分組框" End Select End IfNext shpEnd Sub

後臺編程

代碼中有三個層級判斷,第一層遍歷表內所有Shapes對象,第二層判斷是不是表單對象( msoFormControl),第三層判斷對象類型(FormControlType),最內層就是自己要執行的代碼,過程或函數。

這個解釋大概就明白了,重要的是清楚表中所有元素是什麼類型的,是表單控制項還是Activex控制項,是shape對象還是Chart對象,等等。

這種判斷在控制項比較少的情況下,運行速度比較接受,如果表內對象太多,控制項數量很大,那麼可能出現假死現象,就像程序沒有任何反應,其實在瘋狂遍歷中。

如果這這篇文章對大家學習Excel 製作有用,可以關注收藏

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • vba Page分頁控制項使用方法介紹
    分頁在vba編程中使用,會大大增加程序的整潔度,也是應用程式比較實用的一個功能。基本說一下Page使用方法,包括添加分頁、刪除分頁、和設置分頁屬性等幾點比較重要的內容。一個表單示例,標題分布以按鈕形式來顯示,默認為標籤形式。
  • Excel vba 批量刪除窗體控制項
    文/江覓易見動態創建窗體控制項後,可以進行動態刪除,如果是設計時從工具欄添加的控制項,不能動態刪除,不要問為什麼vba就是這麼規定的,也可以認為這是一個BUG,反正就是不能。效果演示本示例演示了刪除標籤控制項、文本控制項和圖片控制項。單擊頁面建立所有控制項,然後單擊按鈕逐一刪除。刪除圖片控制項後效果。
  • 系統思維在Excel vba編程中的思考
    文:江覓易見編程首先要考慮的問題是需求,正因為需求的存在,所以要做編程的工作,然後要分析需求以及實現需求而實施的方式方法,最終輸出需求結果。這是整個編程中要考慮的內容,也是解決需求的一般過程。系統思維的建立有助於編程思想的提高和理解需求的應用場景,進而對編程實施有一個全面而有效的方法布置。系統三要素:元素、關係、功能引用到Excel vba編程中。
  • Excel 製作二級目錄——表單控制項法
    我們在使用EXCEL 時常需要製作#二級目錄#方便我們篩選及錄入,今天我們就來學習下如何製件二級目錄。製作二級目錄的方法很多今天我們來學習使用#表單控制項# 配合函數的方法完成二級目錄創建。先看下效果 :步驟:本例使用全球五大洲及相應的國家作為數據源如下表:插入表單控制項,如圖所示:分別插入兩列表框一個用於一級目錄一個用於二級目錄
  • VBA編程理論學習之談
    No.1 掌握對象方法和屬性VBA編程是一個即學即用的過程,幾乎不可能全面掌握所有對象的代碼,也不可能記住所有的對象屬性。所以,在實際應用中遇到哪些對象就對應去掌握這些對象的方法和屬性就可以,不需要完全學習。既浪費時間又沒有意義。
  • 如何用VBA代碼添加Form窗體表單,看完全明了,詳細講解
    NO.1使用VBA代碼添加Form窗體表單,對於一些初學者來說,似乎真的很為難。除了對代碼陌生之外,並不知道如何來進行操作添加後的窗體。這也是一件十分困擾的事情。本節將介紹一下,使用vba代碼添加窗體,然後在窗體上添加控制項,如標籤按鈕等等方法。
  • Java 添加、刪除Excel表單控制項
    一、概述在Excel中錄入數據的同時可能會需要插入一些表單控制項作為輔助功能。通過表單控制項,用戶可快速地將數據填寫到模塊文檔中。Excel文檔中的常見表單控制項有文本框、單選按鈕、複選框和組合框。本文就將通過使用Java程序來演示如何添加、刪除Excel表單控制項。
  • 如何讓你的圖表動起來!——EXCEL表單控制項操作技巧
    在前一天的職場故事中,顧城教給小琪如何設置組合框、複選框和數值調節鈕,在今天的職場故事中,顧城會為小琪介紹其它常用控制項的設置方法,快跟小編一起看看吧!l初識表單控制項之——選項按鈕一、作用:選項按鈕也稱為單選按鈕。可以選擇一組項目中的某一個進行分析,且只能選擇其中一個。
  • Web表單控制項開發避免Accessibility缺陷
    事實上,accessibility缺陷有很強的集群性,或者說遵循2/8原則,也就是80%的缺陷是由20%的問題引起的,如果開發人員在編碼之前就學習了解這20%的問題,那麼就能有效地在開發之初就避免可能發生的accessibility缺陷,從而減少在測試階段甚至測試階段後期才發現、修復這些缺陷帶來的代價。本文將以實際項目實踐為例來解析如何在開發階段有效避免accessibility的缺陷。
  • 26 HTML5中新增的表單控制項
    前面兩篇圖文介紹的表單控制項,都是HTML4版本中就已經存在的表單控制項,不過它們同樣在HTML5規範中被兼容,而今天這一篇圖文介紹的這些表單控制項,都是在HTML5中新增的。在HTML5中新增的表單控制項,主要有下圖所示的這些,input標籤的type屬性不同的值,表示不同的控制項。
  • 26 HTML5中新增的表單控制項
    前面兩篇圖文介紹的表單控制項,都是HTML4版本中就已經存在的表單控制項,不過它們同樣在HTML5規範中被兼容,而今天這一篇圖文介紹的這些表單控制項,都是在HTML5中新增的。在HTML5中新增的表單控制項,主要有下圖所示的這些,input標籤的type屬性不同的值,表示不同的控制項。
  • Excel vba 動態添加按鈕控制項 CommandButton
    文/江覓易見動態添加按鈕有時在vba編程中運用很多,也是一個比較容易實現的過程。這裡寫了一個很小的例子,做個示範,動態添加按鈕,而且按鈕數量不限,可批量添加,位置、大小、按鈕Caption自定義。如果對代碼不很熟悉,套用也較方便。下面是動態效果圖,文章結尾有代碼,可以參考使用。
  • 在excel製作計票器,快速計算票數,再也不用一個一個的計算了
    Hello,大家好,今天跟大家分享下我們如何在excel中製作計票器,在進行投票統計的時候能快速的提高工作效率,如下圖,當選手得到一票的時候,我們只需點擊一下他對應位置的按鈕,票數即可加1,這個的操作也非常的簡單,下面就讓我們來一起操作下吧一、插入按鈕首先我們點擊開發工具功能組
  • E圖表述:Excel控制項、二:表單控制項-組合框、列表框
    無論是表單控制項還是ActiveX控制項,作者都認為,組合框和列表框都應該放在一起說。先看一下它們長什麼樣子吧。在用這兩個控制項的過程中,作者覺得這兩個控制項基本沒有什麼區別(尤其是表單控制項)。如果非要說它們倆不一樣的地方,那就是列表框是展開的列表,而組合框是下拉式的列表。
  • Excel表格如何設置漸變色,vba編程進階學習,深度講解
    No.1Excel中給表格設置一些顏色,對於表格的觀賞性,還是很好的。如何利用VBA對表格進行漸變色設置,這就需要我們有一個十分熱情來掌握其方法。下圖為設置一個漸變色的效果,顏色不太好,但其功能可以實現。
  • Excel 編程入門指南-附VBA多表聯合查詢編程實例
    1 概述VBA使用編程的方式操作Excel的工作簿,工作表sheet,行row,列column,區域range,單元格cells等的值與屬性。2.3 變量聲明 Dim name As String '定義姓名,用於在循環時將同一姓名的數據納入一張表中 name = "張三"2.4 常量聲明:const
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    本系列一直強調要善用各種工具,作為本系列的最後一節,那麼這次就用一例子說明如何讓Python結合Vba,直接在Excel中動態獲取各種處理條件,輸出結果。日後也會不定期分享 pandas 的處理案例,但不一定非要與 Excel 掛鈎。比如直接結合 power bi 做處理分析。本文主要效果如下圖:處理數據的過程在 Python 中進行。
  • Excel vba 利用定義名稱實現用戶登錄功能
    文/江覓易見在vba 中實現用戶登錄,並對登錄用戶進行身份識別,然後對用戶進行分組管理,此類功能值得進一步思考。這裡介紹一種方法,利用Excel中的名稱管理來進行身份識別,起到用戶登錄次數以及增減用戶的功能。
  • vba編程,如何畫帶箭頭直線,教你這麼做馬上學會畫流程圖
    No.1Excel中畫線條是一個很簡單的操作,其中線條分幾種不同的類型,如線條端點形狀也分不同的幾種類型。下面具體介紹一下,如何利用vba代碼進行設置線條的一些方法。vba代碼畫線用到一個對象:LineFormat下圖為LineFormat屬性:屬性看上去較多,但大多有一定的規則,使用起來還是比較容易理解的。下面是一些用到的枚舉,有端點樣式枚舉、線條類型枚舉、箭頭長度枚舉。