我有一個問題,我試圖搜索互聯網很多,但沒有找到一個解決方案來幫助我。dropdownmenu自動檢查複選框
繼承人我的問題: 我在單元格J3中的工作表3中有一個下拉菜單(在vba中稱爲ws_step3)。 下拉菜單中有9個選項,其中這些選項2自動應使一個複選框(讓我們稱之爲複選框「的CoffeeCup」)
的9個選項A,B,C等
進出口尋找一個VBA代碼,如果選項2進行檢查,可自動檢測該複選框(可以說其C和F,檢查該複選框)使用Active X複選框,並使用下拉菜單
希望有人能幫助我
林。
TY在從VBA新人提前:-)
/克勞斯
編輯#1 - 嘗試這個第一
Private Sub Worksheet_Calculate()
If ws_Step3.Range("J3").Value = "C" Then
ws_Step3.CheckBoxes("Coffeecup").Value = xlOn
Else
ws_Step3.CheckBoxes("Coffeecup").Value = xlOff
End If
End Sub
編輯#2 - 感謝DDuffy幫助在這一個 - 我已經有這個在我的私人小組Worksheet_Change(BYVAL目標作爲範圍)J3
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
'Hvis værdien hedder "fremført cykelsti":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(2, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(3, 2).Value
End If
'Hvis værdien hedder "Afkortet cykelsti":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(13, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(14, 2).Value
End If
'Hvis værdien hedder "Venstresving fra langsiden af T-kryds":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(17, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(18, 2).Value
End If
'Hvis værdien hedder "Cykelbane":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(21, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(22, 2).Value
End If
'Hvis værdien hedder "Ingen cykelfaciliteter":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(27, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(28, 2).Value
End If
'Hvis værdien hedder "Højresvingsshunt":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(31, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(32, 2).Value
End If
'Hvis værdien hedder "Hollænderboks":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(42, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(43, 2).Value
End If
'Hvis værdien hedder "Cykelsti i eget trace":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(46, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(47, 2).Value
End If
'Hvis værdien hedder "Tilladt højresving for rødt":
If ws_Step3.Cells(3, 10).Value = WS_DDL.Cells(57, 2).Value Then
'Default value sættes til det første i dropdown
ws_Step3.Cells(8, 12).Value = WS_DDL.Cells(58, 2).Value
End If
End If
End Sub
而且DDuffys建議合作這裏MES(改成了真正的問題,沒有更多的旁敲側擊)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
On Error GoTo Errortrap
'~~> Change it to the relevant string with which you want to compare
StringToCheck1 = "Hoejresvingsshunt"
StringToCheck2 = "Tilladt Hoejresving for roedt"
If Not Intersect(Target, Range("J3")) Is Nothing Then
'~~> Check for the cell value
If Target.Value = StringToCheck1 Then
'change checkbox value to true if it matches
Worksheets("ws_Step3").HoejreD.Value = True
ElseIf Target.Value = StringToCheck2 Then
'change checkbox value to true if it matches
Worksheets("ws_Step3").HoejreD.Value = True
Else
'change checkbox value to false if it doesn't match
Worksheets("ws_Step3").HoejreD.Value = False
End If
End If
LetsContinue:
Application.EnableEvents = True
Exit Sub
Errortrap:
MsgBox Err.Description
Resume LetsContinue
End Sub
我的問題是,現在,我要如何合併這些到工作表的變化?
我有我的工作在這裏的形象:http://imgur.com/D4NXDI8
到目前爲止您嘗試過什麼?嘗試是有趣的部分。你想要考慮你的僞代碼,然後儘可能地將它翻譯成VBA。所以你會想要一些東西:如果ws_steps.Text等於「C」和「F」,那麼CheckBoxName.Value等於true。嘗試將其轉換爲VBA並向我們展示您擁有的內容。這裏的人不傾向於爲你做你的工作,但如果你陷入困境,有很多人會幫助你。 – DDuffy
忘記提及,如果您選擇了C/F選項並想從下拉菜單中重新選擇任何選項A或B,則應該再次取消選中該複選框,但僅適用於選項A或B,其餘選項應保持選中狀態它已經從挑選C/F中選擇。 – Klaus
嘗試這樣做:。 私人小組Worksheet_Calculate() 如果ws_Step3.Range( 「J3」)值= 「C」。然後 ws_Step3.CheckBoxes( 「的CoffeeCup」)值= xlOn 否則 ws_Step3.CheckBoxes( 「的CoffeeCup」 ).Value = xlOff End If End Sub – Klaus