Board logo

標題: 求 開啟表單自動新增文字方塊 與下拉式清單 [打印本頁]

作者: joe80502    時間: 2012-4-27 11:21     標題: 求 開啟表單自動新增文字方塊 與下拉式清單

開啟表單後可以自動將工作表中的每一列的第一欄資料抓出來並新增一個文字方塊(把資料填入) 和一個下拉式清單在表單中
有10列資料的話  就有10個文字方塊與10個下拉式清單    求大大幫解




        1          2
1  aaa
2  bbb
3  cccc
4  ddd
作者: mark15jill    時間: 2012-4-27 14:42

回復 1# joe80502
沒附檔案,沒說明檔...
怎知道你要啥= ="
作者: Hsieh    時間: 2012-4-27 20:40

回復 1# joe80502
  1. Private Sub UserForm_Initialize()
  2. With ActiveSheet
  3. For Each a In .Range("A:A").SpecialCells(xlCellTypeConstants)
  4.    With Me.Controls.Add("Forms.TextBox.1")
  5.    .Top = i * 22
  6.    .Height = 20
  7.    .Width = 60
  8.    .Left = 10
  9.    .Value = a
  10.    End With
  11.    With Me.Controls.Add("Forms.ComboBox.1")
  12.    .Top = i * 22
  13.    .Height = 20
  14.    .Width = 60
  15.    .Left = 50
  16.    End With
  17.    i = i + 1
  18. Next
  19. End With
  20. End Sub
複製代碼

作者: joe80502    時間: 2012-5-2 17:40

回復 3# Hsieh


多謝HS大大幫我解答  程式執行是我要的結果
想在問一下 我想要把下拉式選單的資料 選一個資料回填,到儲存格中可以做到嗎?
我自己試了一下 ,不知道怎麼抓新增出來的下拉式選單的名稱
作者: Hsieh    時間: 2012-5-2 18:10

回復 4# joe80502
回填資料到工作表中,可利用ControlSource屬性
  1. Private Sub UserForm_Initialize()
  2. With ActiveSheet
  3. For Each a In .Range("A:A").SpecialCells(xlCellTypeConstants)
  4.    With Me.Controls.Add("Forms.TextBox.1")
  5.    .Top = i * 22
  6.    .Height = 20
  7.    .Width = 60
  8.    .Left = 10
  9.    .Value = a
  10.    End With
  11.    With Me.Controls.Add("Forms.ComboBox.1")
  12.    .Top = i * 22
  13.    .Height = 20
  14.    .Width = 60
  15.    .Left = 50
  16.    .ControlSource = a.Offset(, 5).Address '連結儲存格
  17.    .RowSource = 工作表1.[A1:A7].Address '清單來源
  18.    End With
  19.    i = i + 1
  20. Next
  21. End With
  22. End Sub
複製代碼

作者: joe80502    時間: 2012-5-7 16:49

回復 5# Hsieh


    多謝HS大大幫解答~問題已解決




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)