返回列表 上一主題 發帖

求 開啟表單自動新增文字方塊 與下拉式清單

求 開啟表單自動新增文字方塊 與下拉式清單

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




        1          2
1  aaa
2  bbb
3  cccc
4  ddd
YOYO

回復 1# joe80502
沒附檔案,沒說明檔...
怎知道你要啥= ="

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 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
複製代碼
學海無涯_不恥下問

TOP

回復 3# Hsieh


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

TOP

回復 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
複製代碼
學海無涯_不恥下問

TOP

回復 5# Hsieh


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

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題