AW: ComboBox
07.08.2008 11:07:00
Peter
Hallo Roland,
vielen Dank für Deine Auskünfte. Hab gestern (heute) noch bis 2 Uhr rumprobiert (learning by doing) und bis jetzt folgende Programmierung erstellt. Bin von den drei einzelnen ufs abgewandert zu einer mit drei cbs.
Das mit dem .value fiel mir dann gestern auch noch ein.
Kannst Dir ja meine bisherigen Code ja mal anschauen:
Private Sub ComboBox1_Change()
Dim strAufgabe As String
If ComboBox1.Value = "Neue Aufgabe" Then
strAufgabe = InputBox("Name der neuen Aufgabe eingeben", "Aufgabe hinzufügen")
If Len(strAufgabe) > 0 Then
With ThisWorkbook.Worksheets(1)
.Range("B" & .Range("B1").End(xlDown).Row + 1) = strAufgabe
End With
cbo1Fuellen
End If
End If
End Sub
Private Sub ComboBox2_Change()
Dim strAufgabe As String
If ComboBox2.Value = "Neues Projekt" Then
strProjekt = InputBox("Name des neuen Projekts eingeben", "Projekt hinzufügen")
If Len(strProjekt) > 0 Then
With ThisWorkbook.Worksheets(1)
.Range("A" & .Range("A1").End(xlDown).Row + 1) = strProjekt
End With
cbo2Fuellen
End If
End If
End Sub
Private Sub ComboBox3_Change()
cbo3Fuellen
End Sub
Private Sub CommandButton1_Click()
Unload Aufgaben
Dim cb1 As String
Dim cb2 As String
Dim cb3 As String
cb1 = ComboBox1.Value
cb2 = ComboBox2.Value
cb3 = ComboBox3.Value
Call cb1 'Hier kommt die Fehlermeldung:"sub, function oder property erwartet"
'Das Makro für den Wert in cb1 gibt es aber
'HIER WEIß ICH NICHT WEITER!!!!!!!
'VON HIER AUS MUSS ICH VERZWEIGEN!!!!
'MsgBox cb1 & cb2 & cb3 'Ist nur ein Versuch, ob die Values übergeben werden!!! Und das _
funktioniert
einwandfrei!!!
End Sub
Private Sub CommandButton2_Click()
Unload Aufgaben
End Sub
Private Sub UserForm_Initialize()
cbo1Fuellen
cbo2Fuellen
cbo3Fuellen
End Sub
Private Sub cbo1Fuellen()
ComboBox1.RowSource = ""
With ThisWorkbook.Worksheets(1)
ComboBox1.RowSource = .Range(.Range("B1"), .Range("B1").End(xlDown)).Address
End With
End Sub
Private Sub cbo2Fuellen()
ComboBox2.RowSource = ""
With ThisWorkbook.Worksheets(1)
ComboBox2.RowSource = .Range(.Range("A1"), .Range("A1").End(xlDown)).Address
End With
End Sub
Private Sub cbo3Fuellen()
ComboBox3.RowSource = ""
With ThisWorkbook.Worksheets(1)
ComboBox3.RowSource = .Range(.Range("c1"), .Range("c1").End(xlDown)).Address
End With
End Sub
Hab auch mal die Datei angehängt.
https://www.herber.de/bbs/user/54400.xls
Problem ist jetzt noch, dass aufgrund der CB.Values ein bestimmtes Makro aufgerufen werden soll. In diesem Makro möchte ich aber die CB.Values weiter nutzen. Ist das überhaupt möglich?
Da ich ja nicht weiß, was im Laufe des Jahres an Projekten und Aufgaben hinzukommt, kann ich nicht mit direkten "Wörtern" bei Case arbeiten.
Es gibt halt schon Programmierungen, die ich vorher erstellt habe, die für sich über Makros auch einwandfrei funktionieren, aber ich wollte nicht so viele Schaltflächen in meiner Symbolleiste haben und halt alles etwas vereinfachen durch ne CB. Damit hätten es meine Vertretungen, wenn ich im Urlaub bin auch um einiges einfacher, weil die sich nicht so viele einzelnen Schritte merken müssten.
Vielen Dank auch für Deine Hinweise zu Schulungen. Komme aus Braunschweig und möchte halt nicht auf irgendwelche windigen Leute reinfallen. Kann man es sich auch mit einen Kaufkurs selbst beibringen? Kannst Du da was empfehlen? Die Kosten würde ich selbst übernehmen, wenn die Fa. nichts zuzahlt.
Gruß
Peter