Private Sub ComboBox1_Change()
Dim strProjekt As String
If ComboBox1.Value = "Neues Projekt" Then
strProjekt = InputBox("Name des neuen Projektes eingeben", "Projekt hinzufügen")
If Len(strProjekt) > 0 Then ComboBox1.AddItem strProjekt
End If
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Neues Projekt"
.AddItem "Projekt1"
.AddItem "Projekt2"
.AddItem "Projekt3"
End With
End Sub
Kannst Du was damit anfangen?
Gruß
Roland Hochhäuser
Private Sub AufgabenwahlCombo_Change()
Select Case AufgabenwahlCombo.Value
Case "Auftragskennzahlen für EK bearbeiten"
Call ProjektAuswahlEK.Show
Case "Auftragskennzahlen für ZK bearbeiten"
Call ProjektAuswahlZK.Show
Case "Schulungszeit herausfiltern"
Case "Wandlungsquote berechnen"
Call ProjektAuswahlZK.Show
End Select
End Sub
Private Sub Userform_Initialize()
With Worksheets("Tabelle1")
AufgabenwahlCombo.RowSource = Range(.Range("b1"), .Range("b1").End(xlDown)).Address
End With
End Sub
zweite uf:
Private Sub ProjektAuswahlCombo_Change()
End Sub
Private Sub Userform_Initialize()
With Worksheets("Tabelle1")
ProjektAuswahlCombo.RowSource = Range(.Range("a1"), .Range("a1").End(xlDown)).Address
End With
End Sub
dritte uf:
Private Sub ProjektAuswahlCombo2_Change()
End Sub
Private Sub Userform_Initialize()
With Worksheets("Tabelle1")
ProjektAuswahlCombo2.RowSource = Range(.Range("a1"), .Range("a1").End(xlDown)).Address
End With
End Sub
So, nun würde ich ganz gerne die Auswahl, die in der ersten uf (falls keine uf hinterlegt ist), sowie die Auswahl der zweiten und dritten uf über case ansprechen. Oder habe ich mich da in meinen Gehirnwindungen verirrt?
Gruß
Peter
Private Sub ComboBox1_Change()
Dim strProjekt As String
If ComboBox1.Value = "Neues Projekt" Then
strProjekt = InputBox("Name des neuen Projektes eingeben", "Projekt hinzufügen")
If Len(strProjekt) > 0 Then
With ThisWorkbook.Worksheets(1)
.Range("B" & .Range("B1").End(xlDown).Row + 1) = strProjekt
End With
cboFuellen
End If
End If
End Sub
Private Sub UserForm_Initialize()
cboFuellen
End Sub
Private Sub cboFuellen()
ComboBox1.RowSource = ""
With ThisWorkbook.Worksheets(1)
ComboBox1.RowSource = .Range(.Range("B1"), .Range("B1").End(xlDown)).Address
End With
End Sub
Schreib mal in Tabelle1 Zelle B1 Neues Projekt hinein und lasse den Code dann arbeiten, dann wirds klar.
Gruß
Roland Hochhäuser
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