如何在EXCEL SHEET中 動態新增控制項

2021-04-02 00:48:53 字數 1224 閱讀 2122

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以:

1 新建worksheet

2  開啟visiual basic編輯器

3  選擇sheet1 的worksheet_selectionchange 事件

4 編寫**如下:

private sub worksheet_selectionchange(byval target as range)

dim myobj as oleobject

set myobj = sheet1.oleobjects.add(classtype:="forms.commandbutton.1", link:=false, displayasicon:=false, left:=target.left, top:=target.top, width:=target.width, height:=target.height)

myobj.visible = true

myobj.object.caption = target.address

end sub

5返回到sheet1視窗,退出設計模式:

6 更改選定區域,可以看到range改變時在該range自動新增乙個命令按鈕,標題為該range 的address:

前三步同上,第4步**寫為:

private sub worksheet_selectionchange(byval target as range)

dim myobj as oleobject

set myobj = sheet1.oleobjects.add(classtype:="forms.combobox.1", link:=false, displayasicon:=false, left:=target.left, top:=target.top, width:=target.width, height:=target.height)

myobj.visible = true

myobj.object.list = array(1, 2, 3, 4, 5, 6, 7)

randomize

myobj.object.listindex = int(rnd * 7)

end sub

效果如下:

以上演示了excel sheet中控制項的新增,其他控制項同理。只需更改相應的classtype

需要注意的是,以上**沒有為新增的控制項編寫單擊事件,如果要使其能響應各類事件,還需要進一步處理。

如何在EXCEL SHEET中 動態新增控制項

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...

如何在程式中延時

方法一 使用sleep函式,如延時2秒,用sleep 2000 方法二 使用sleep函式的不利在於延時期間不能處理其他的訊息,如果時間太長,就好象宕機一樣,利用coledatetime類和coledatetimespan類實現延時就不會出現那樣的問題 coledatetime start time...

如何在jupyter notebook中顯示目錄?

如何在jupyter notebook中顯示目錄?通過目錄,能很清楚看到文字的構架。下面就介紹jupyter notebook安裝目錄外掛程式的步驟。1.首先,在anaconda prompt anaconda3 裡執行 pip install jupyter contrib nbextension...