急需 我目前需要用下拉式選單,裡面有星期一到星期日的選項,如當選擇星期一時,MSGBOX會顯示出,星期一生日的人有:誰誰誰(人名要能顯示是重點)然後EXCEL表單中共有27筆資料,其中B行是人名,C行是出生年月日?

2017-06-09 10:51 pm
我下面的程式問題是,當我選擇星期一生日的人時,人名會顯示出來,但是按下確定紐之後,其他星期二星期三會接著跑出來,希望能按下確定紐之後就結束,其他星期的選項不要跑出來,再來是我人名是用一個一個KEY的,是死的,希望能改成活的,但是我不會改
Private Sub ComboBox2_Change()
ab = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
For i = 2 To ab
my_date = Weekday(Range("c" & i))
Range("l" & i) = my_date

If Month(Range("c" & i)) = 1 Then
MsgBox "星期一出生的有:" & " 許振豪 陳昱全 陳立倫 許振豪 陳昱全 "

ElseIf Month(Range("c" & i)) = 2 Then
MsgBox "星期二出生的有:" & "陳二凱 陳二凱"


ElseIf Month(Range("c" & i)) = 3 Then
MsgBox "星期三出生的有:" & "黃隆偉 林明輝 黃奕翔 黃隆偉 林明輝 黃奕翔"


ElseIf Month(Range("c" & i)) = 4 Then
MsgBox "星期四出生的有:" & "林伯瑞 劉彥均 林伯瑞"


ElseIf Month(Range("c" & i)) = 5 Then
MsgBox "星期五出生的有:" & "盧一欣 詹仁村 盧一欣"


ElseIf Month(Range("c" & i)) = 6 Then
MsgBox "星期六出生的有:" & "林建勳 嚴偉鈞 陳嘉偉"


ElseIf Month(Range("c" & i)) = 7 Then
MsgBox "星期日出生的有:" & "賴家祥 張登順 林文傑 賴家祥"

End If
Next
End Sub

Private Sub userform_initialize()
ComboBox1.List = Array("張登順", "林建勳", "陳昱全", "陳立倫", "林文傑")
ComboBox2.List = Array("星期一出生", "星期二出生", "星期三出生", "星期四出生", "星期五出生", "星期六出生", "星期日出生")

End Sub

回答 (2)

2017-06-10 11:02 am
✔ 最佳答案
增加D欄=C欄儲存格格式為星期幾利用篩選就可以不需用VBA

Private Sub CommandButton1_Click()
ka = ComboBox1.Text
kxx = "生日為:"
For i = 2 To [C65536].End(3).Row
kb = Format(Weekday(Cells(i, 3)), "aaaa")
If ka = kb Then kxx = kxx & " " & Cells(i, 2)
Next
MsgBox ka & kxx
End Sub

Private Sub userform_initialize()
ComboBox1.List = Array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
End Sub


ka = ComboBox1.Text & "出生"
....
2017-06-26 3:43 pm
上面的基本上就可以了!!!


收錄日期: 2021-05-01 19:53:10
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20170609145129AArpew5

檢視 Wayback Machine 備份