我正在使用數據庫values.Now填充我的電子表格如果我30行被填充然後我想創建一個動態按鈕說31或32行做一些動作。將填充的行不是固定的。我可以如何做到這一點。如何在excel中創建一個動態按鈕
2
A
回答
4
我假設你會在查詢填滿你的表格後搜索一個條件和「做什麼」之後遍歷記錄。因此,我asume要在其中放置該按鈕的位置由範圍()對象ActiveSheet()
因此,讓我們在那個位置創建一個動態的ActiveX按鈕中表示:
Sub CreateDynamicButton()
Dim MyR As Range, MyB As OLEObject
Dim MyR_T As Long, MyR_L As Long
Set MyR = Range("C110") 'just an example - you get that from your own script
MyR_T = MyR.Top 'capture positions
MyR_L = MyR.Left '...
'create button
Set MyB = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)
'set main button properties
With MyB
.Name = "MyPrecodedButton" 'important - code must exist ... see below
.Object.Caption = "MyCaption"
.Top = MyR_T
.Left = MyR_L
.Width = 50
.Height = 18
.Placement = xlMoveAndSize
.PrintObject = True 'or false as per your taste
End With
End Sub
如果 - 提前 - 已創建的活性片
Private Sub MyPrecodedButton_Click()
MsgBox "Co-Cooo!"
End Sub
內以下例程然後一旦按上面創建的按鈕(下XP/SP2 + Excel 2003中測試)將出現一個很好的消息框。
創建例程不會詢問是否存在相同名稱的按鈕,您需要採取措施僅使用相同名稱創建一次。如果您調用例程兩次,則.Name = "..."
將自動失敗並開始命名按鈕「CommandButton1」。
所以你應該現在有所有的材料來創建你的按鈕。如果他們需要採取不同的行動,他們每個人都需要預先編制程序。我應該提到你不能在OLE對象合併之後調試(逐步執行)Create例程,因爲控制權是在Excel之外傳輸的 - 「這不是錯誤,而是一個特性!」
我必須承認對我來說聽起來有點不同尋常,我可能不希望安裝動態按鈕作用於預先編碼的Sub,而是在查詢通過複選框給出選項之前執行初始對話框,例如「截斷後X行(是/否)「等 - 但你會有很好的理由按照你的方式。
希望有所幫助 - 祝你好運
相關問題
- 1. VBA在excel中創建動態按鈕
- 2. 如何在android中動態創建另一個按鈕
- 3. 創建一個動態Pinterest按鈕?
- 4. SetOnclick動態創建一個按鈕
- 5. Qt:創建一個動態按鈕
- 6. 如何一個接一個地動態創建按鈕?
- 7. 如何在django中創建一個動態創建的單選按鈕表格
- 8. 如何在ios中創建動作多個動態按鈕?
- 9. 如何從一個活動創建按鈕動態
- 10. 如何在動態創建的Gridview中創建按鈕?
- 11. 如何動態創建推文按鈕?
- 12. 如何動態創建權限按鈕?
- 13. 如何創建動態按鈕iphone xcode?
- 14. 如何動態地在Excel中創建
- 15. 如何從一個活動動態創建按鈕,另一個活動
- 16. 如何添加一個鏈接到動態創建的按鈕?
- 17. 如何讓動態創建一個單選按鈕的文字?
- 18. 如何從按鈕創建一個動態視圖objective-c
- 19. 創建一個按鈕,創建按鈕
- 20. 在matlab中動態創建按鈕
- 21. 在Flex中動態創建按鈕
- 22. 在Java中動態創建按鈕
- 23. 在thymeleaf表中動態創建按鈕
- 24. 在PyQt中創建動態按鈕
- 25. 在窗口中創建動態按鈕
- 26. 在MVC中動態創建按鈕5
- 27. 在ListView中動態創建按鈕
- 28. 在ListView中動態創建按鈕[android]
- 29. 動態創建按鈕textview按鈕
- 30. Android:如何動態創建一個通過位圖的按鈕或OVERLAYING按鈕?
「填充......與數據庫值」是什麼意思?您是通過用戶輸入還是通過VBA代碼填充? – MikeD 2010-08-23 16:32:55
通過VBA.Sorry,如果我聽錯了行話。我通過VBA進行數據庫連接,然後執行Select命令以獲取電子表格中的數據。 – gizgok 2010-08-23 18:12:01