Board logo

標題: 一個下拉程式 [打印本頁]

作者: 周大偉    時間: 2011-3-30 19:33     標題: 一個下拉程式

大大們, 好
小弟請大大們協助一個下拉程式, 附件中有說明, 先謝過大大們,,,,,
[attach]5165[/attach]
作者: GBKEE    時間: 2011-3-30 19:57

回復 1# 周大偉
SHEET2 的 程式嗎
  1. Private Sub ComboBox1_Change()
  2.     [C3] = ComboBox1.Value
  3. End Sub
  4. Private Sub Worksheet_Change(ByVal Target As Range)
  5.     If Target.Address(0, 0) = "C3" Then
  6.         Dim Sh As Worksheet
  7.         Set Sh = Sheets("月份")
  8.         ComboBox1.List = Sh.Range("d2", Sh.Range("E2").End(xlDown)).Value
  9.         ComboBox1.ColumnCount = 2
  10.     End If
  11. End Sub
複製代碼

作者: 周大偉    時間: 2011-3-30 20:14

回復 2# GBKEE


大大好:
小弟把程式貼於工作表2, 但沒法成功, 小弟在程序上錯了哪裡, 請大大教導, 謝謝!!

[attach]5170[/attach]
作者: aa7551    時間: 2011-3-30 20:55

版主:我試著去中斷Worksheet_SelectionChange發覺它都沒有動作,我把這一段程式複製至ComboBox1_Change改成:
Dim Sh As Worksheet

        Set Sh = Sheets("月份")

        ComboBox1.List = Sh.Range("d2", Sh.Range("E2").End(xlDown)).Value

        ComboBox1.ColumnCount = 2
        [C3] = ComboBox1.Value
發現它可以執行
作者: aa7551    時間: 2011-3-30 21:00

以上程式,是試出來的,並不了解意思,請教GBKEE大大,Worksheet_SelectionChange它是在何種狀況下才會觸發
作者: 周大偉    時間: 2011-3-30 21:46

回復 5# aa7551


可否還修改的程式碼張貼, 好讓學習..
作者: aa7551    時間: 2011-3-30 22:29

說明過於簡短,可能辭不達意
Private Sub ComboBox1_Change()
        Dim Sh As Worksheet
        Set Sh = Sheets("月份")
        ComboBox1.List = Sh.Range("d2", Sh.Range("E2").End(xlDown)).Value
        ComboBox1.ColumnCount = 2
        [C3] = ComboBox1.Value
End Sub
因執行中發現Worksheet_SelectionChange沒有觸動,故將其中一段(if判斷式拿掉)複製至ComboBox1_Change內,並放置於前
作者: chin15    時間: 2011-3-30 22:35

[attach]5172[/attach]
作者: 周大偉    時間: 2011-3-30 23:13

謝謝樓上各大大, 感恩, 祝願健康, 快樂, 謝謝!!
作者: solely    時間: 2011-3-30 23:30

回復 1# 周大偉


    [attach]5175[/attach]
作者: GBKEE    時間: 2011-3-31 10:22

回復 3# 周大偉
ThisWorkbook 加上 Workbook_Open程序
  1. Private Sub Workbook_Open()
  2.         Dim Sh As Worksheet
  3.         Set Sh = Sheets("月份")
  4.         With Sheets("Sheet2")
  5.             .ComboBox1.List = Sh.Range("d2", Sh.Range("E2").End(xlDown)).Value
  6.             .ComboBox1.ColumnCount = 2
  7.         End With
  8. End Sub
複製代碼

作者: Hsieh    時間: 2011-3-31 11:03

本帖最後由 Hsieh 於 2011-3-31 19:33 編輯

回復 11# GBKEE

月份內容又變動時又要一個Change事件囉
Sheet1模組
  1. Private Sub ComboBox1_Change()
  2. [C3] = ComboBox1
  3. End Sub

  4. Private Sub ComboBox1_DropButtonClick()
  5. With Sheets("月份")
  6. Set rng = .Range(.[D2], .[E65536].End(xlUp))
  7. With ComboBox1
  8. .List = rng.Value
  9. .ColumnCount = 2
  10. End With
  11. End With
  12. End Sub
複製代碼

作者: 周大偉    時間: 2011-3-31 18:50

在此再一次多謝各版主及大大們分享及教導, 小弟哀心感謝!!
作者: FAlonso    時間: 2011-3-31 22:07

回復 12# Hsieh
H大的程式在選擇選單的時候(即按下倒轉三角形)才能看見數字+文字,若在平時只能看見數字,請問能否改寫至平常時間也能顯示出數字 + 文字
作者: Hsieh    時間: 2011-4-1 00:40

回復 14# FAlonso
這樣只能把2欄文字結合後顯示
就不能看做2個資料
  1. Private Sub ComboBox1_Change()
  2. With ComboBox1
  3. If .ListIndex <> -1 Then
  4. .Text = .List(.ListIndex, 0) & " " & .List(.ListIndex, 1)
  5. [C3] = .Text
  6. End If
  7. End With
  8. End Sub
複製代碼





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