Hallo,
ich versuche momentan ein Formblatt zu erstellen und mich dabei in VBA einzuarbeiten. Den bisherigen Code habe ich unten angefügt. Derzeit stoße ich auf zwei Probleme:
1. Aus irgendeinem Grund zeigen die Comboboxen ihren Inhalt nicht mehr an, wenn ich die Datei öffne aufrufe. Ich muss jetzt jedes Mal erst VBA aufrufen und dort den Play-Button betätigen. Gibt es eine Möglichkeit, dass die Boxen von Anfang an gefüllt und aktiviert sind?
2. Ich versuche einen Wert (SW, letzter Code Teil) festzulegen, der in Abhängigkeit vom Inhalt eines Feldes oder einer von zwei Comboboxen definiert ist. Die Definition der Werte habe ich über eine multiple Wenn-Abfrage bereits erstellt. Allerdings weiß ich noch nicht wie ich es erreiche, dass das Ergebnis auch mit jeder Änderung neu bestimmt wird. Bis jetzt wird mit jedem Aktivieren des Codes (Play-Button) das zur aktuellen Situation gehörende Ergebnis dargestellt, bei Ändern der Comboboxen Einträge aber nicht aktualisiert.
Ich hoffe ihr könnt mir weiterhelfen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | Option Explicit
Private Sub Vk_Initialize()
With Vk
.Clear
.AddItem "Im"
.AddItem "Ch"
.AddItem "El"
.AddItem "Or"
.AddItem "Ty"
End With
Vk.Width = 72
End Sub
Private Sub Vk_Change()
If Vk.Value = "Im" Then
Cells(5, 12) = ""
TypIm.Visible = True
TypIm.Enabled = True
TypCh.Visible = False
Else
If Vk.Value = "Ch" Then
Cells(5, 12) = ""
TypIm.Visible = False
TypCh.Enabled = True
TypCh.Visible = True
Else
If Vk.Value = "El" Then
Cells(5, 12) = "El"
TypIm.Visible = False
TypCh.Visible = False
Else
If Vk.Value = "Or" Then
Cells(5, 12) = "Or"
TypIm.Visible = False
TypCh.Visible = False
Else
Cells(5, 12) = "Ty"
TypIm.Visible = False
TypCh.Visible = False
End If
End If
End If
End If
End Sub
Private Sub TypIm_Initialize()
With Me .TypIm
.Clear
.AddItem "SM"
.AddItem "IA"
.AddItem "TL"
.AddItem "SM, IA"
.AddItem "SM, TL"
.AddItem "SM, IA, TL"
End With
TypIm.Width = 234
End Sub
Private Sub TypCh_Initialize()
With Me .TypCh
.Clear
.AddItem "CSM"
.AddItem "KU"
.AddItem "DÄ"
.AddItem "CSM, KU"
.AddItem "CSM, DÄ"
.AddItem "CSM, KU, DÄ"
End With
TypCh.Width = 234
End Sub
Private Sub SW_Change()
Range(Cells(3, 27), Cells(4, 28)).ClearContents
If TypIm.Value = "SM" Or TypCh.Value = "CSM" Or Cells(5, 12) = "El" Then
Cells(3, 27) = 5
Else
If TypIm.Value = "SM, IA" Or TypIm.Value = "SM, TL" Or TypIm.Value = "SM, IA, TL" Then
Cells(3, 27) = 4
Else
If TypCh.Value = "CSM, KU" Or TypCh.Value = "CSM, DÄ" Or TypCh.Value = "CSM, KU, DÄ" Or Cells(5, 12) = "Or" Then
Cells(3, 27) = 3
Else
If TypIm.Value = "IA" Or TypIm.Value = "TL" Or TypIm.Value = "IA, TL" Or TypCh.Value = "KU" Or TypCh.Value = "DÄ" Or TypCh.Value = "KU, DÄ" Then
Cells(3, 27) = 2
Else
Cells(3, 27) = 1
End If
End If
End If
End If
End Sub
|
|