返回列表 上一主題 發帖

下拉式要如何選擇後會自動帶出其他表單訊息

回復 4# GBKEE


    感謝大大幫忙(0口0)~真是太強了
不過如果我是要點選一號餐,餐點和價錢都會自動跑出來
這是要修改哪個部份呢(@@)?
Jared

TOP

本帖最後由 GBKEE 於 2013-3-7 14:56 編輯

回復 3# Jared
試試看這是否如你所需
  1. 'ListIndex = -1: 所選的不在 List清單內
  2. Private Sub ComboBox1_Change()
  3.     If ComboBox1.ListIndex > -1 Then
  4.         餐點
  5.     Else
  6.         ComboBox2 = ""
  7.     End If
  8. End Sub
  9. Private Sub ComboBox2_Change()
  10.     TextBox1 = ""
  11.     If ComboBox2.ListIndex > -1 Then TextBox1 = ComboBox2.List(ComboBox2.ListIndex, 1)
  12. End Sub
  13. Private Sub CommandButton1_Click()
  14.     Dim A
  15.     If ComboBox1.ListIndex = -1 Or ComboBox2.ListIndex = -1 Then MsgBox "餐點內容 需齊全 !!": Exit Sub
  16.     With Sheet10
  17.         .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3).Value = Array(ComboBox1, ComboBox2, TextBox1)
  18.     End With
  19. End Sub
  20. Private Sub CommandButton2_Click()
  21.     test4.Hide
  22. End Sub
  23. Private Sub CommandButton3_Click()
  24.     Me.ComboBox1 = ""
  25.     Me.ComboBox2 = ""
  26.     Me.TextBox1 = ""
  27. End Sub
  28. Private Sub UserForm_Initialize()
  29.     ComboBox1.List = Array("一號餐", "二號餐", "三號餐")
  30. End Sub
  31. Private Sub 餐點()
  32.     With ComboBox2
  33.         .Clear
  34.         Select Case ComboBox1.ListIndex
  35.             Case 0               '一號餐
  36.                 .AddItem "漢堡、薯條、可樂"
  37.                 .List(.ListCount - 1, 1) = 50           'ComboBox2的第2欄  沒顯示出來
  38.                 .AddItem "漢堡、薯餅、可樂"
  39.                 .List(.ListCount - 1, 1) = 49
  40.                 .AddItem "漢堡、薯餅、紅茶"
  41.                 .List(.ListCount - 1, 1) = 48
  42.             Case 1             '二號餐
  43.                 .AddItem "雞塊、薯條、可樂"
  44.                 .List(.ListCount - 1, 1) = 47           'ComboBox2的第2欄  沒顯示出來
  45.                 .AddItem "雞塊、薯餅、可樂"
  46.                 .List(.ListCount - 1, 1) = 46
  47.                 .AddItem "雞塊、薯餅、紅茶"
  48.                 .List(.ListCount - 1, 1) = 45
  49.             Case 2             '三號餐
  50.                 .AddItem "厚土司、薯條、可樂"
  51.                 .List(.ListCount - 1, 1) = 44           'ComboBox2的第2欄  沒顯示出來
  52.                 .AddItem "厚土司、薯餅、可樂"
  53.                 .List(.ListCount - 1, 1) = 43
  54.                 .AddItem "厚土司、薯餅、紅茶"
  55.                 .List(.ListCount - 1, 1) = 42
  56.         End Select
  57.     End With
  58.     TextBox1 = ""
  59. End Sub
複製代碼

TOP

回復 2# GBKEE


抱歉!先上傳目前我的檔案在附檔
只能一個個點選下拉式清單
希望能夠點選一號餐後
隨即就能把餐點內容和價格帶出來
記錄在Sheets欄位裡頭
如果三個欄位有一個沒填上
就會出現警告視窗!

螢幕截圖00065.jpg
    測試檔3.zip (27.49 KB)

程式如下
==================================================
Private Sub CommandButton1_Click()
Dim A As Range

If Application.CountBlank(Sheet10.Range("A2:A99")) = 0 Then '點選餐號
Sheet10.[A100] = ComboBox1.Value

Else

Set A = [a1]
Do Until A = ""
    Set A = A.Offset(1, 0)
Loop

A.Value = ComboBox1.Value

End If

If ComboBox1.Value = "" Then
MsgBox "您先選擇幾號餐!"
Exit Sub
End If


If Application.CountBlank(Sheet10.Range("B2:B99")) = 0 Then '餐點內容
Sheet10.[B100] = ComboBox2.Value

Else

Set A = [b2]
Do Until A = ""
    Set A = A.Offset(1, 0)
Loop

A.Value = ComboBox2.Value

End If


gg = test4.TextBox1.Value '價錢

If Application.CountBlank([C2:C99]) = 0 Then Range("C100") = gg: Exit Sub
For Each A In [C2:C99]
    If A = "" Then
        A.Value = gg
        Exit For
    End If
Next

End Sub
Private Sub CommandButton2_Click()
    test4.Hide
End Sub

Private Sub CommandButton3_Click()
Me.ComboBox1 = ""
Me.ComboBox2 = ""
Me.TextBox1 = ""
End Sub
Private Sub UserForm_Initialize()
ComboBox1.AddItem "一號餐"
ComboBox1.AddItem "二號餐"
ComboBox1.AddItem "三號餐"

ComboBox2.AddItem "漢堡、薯條、可樂"
ComboBox2.AddItem "雞塊、薯餅、紅茶"
ComboBox2.AddItem "薯餅、薯條、冰淇淋"

End Sub
Jared

TOP

回復 1# Jared
附檔說明你的問題.要解答者,好解答些!!

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題