Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-ComboBox -> Hilfe!!!

VBA-ComboBox -> Hilfe!!!
Babak
https://www.herber.de/bbs/user/4714.xls
Hallo,
ich bin gerade dabei, ein kleines Programm mit einer Userform in Excel zu erstellen.
In der Userform befindet sich eine ComboBox.
Diese ComboBox soll dazu dienen, dass das Programm bei Name 1 ("Tatjana") die Berechnungen in einem bestimmten Bereich in Excel kopiert, und bei Name 2 ("Sabrina") in einem anderen Bereich.
Zur Verdeutlichung hier ein Auszug aus meinem Programm (Link zur ganzen Datei s.o.):
If ComboBox1 = "Tatjana" Then
labpause.Caption = Format(pause, "0.00 Std.")
labarbeitszeit.Caption = Format(arbeitszeit, "0.00 Std.")
labüberstd.Caption = Format(überstd, "0.00 Std.")
With Worksheets("april")
.Cells(6 + reihe, 2).Value = komm
.Cells(6 + reihe, 3).Value = geh
.Cells(6 + reihe, 4).Value = anfang
.Cells(6 + reihe, 5).Value = ende
.Cells(6 + reihe, 6).Value = labarbeitszeit.Caption
.Cells(6 + reihe, 7).Value = labpause.Caption
.Cells(6 + reihe, 8).Value = labüberstd.Caption
End With
Else
If ComboBox1 = "sabrina" Then
labpause.Caption = Format(pause, "0.00 Std.")
labarbeitszeit.Caption = Format(arbeitszeit, "0.00 Std.")
labüberstd.Caption = Format(überstd, "0.00 Std.")
With Worksheets("april")
.Cells(6 + reihe2, 12).Value = komm
.Cells(6 + reihe2, 13).Value = geh
.Cells(6 + reihe2, 14).Value = anfang
.Cells(6 + reihe2, 15).Value = ende
.Cells(6 + reihe2, 16).Value = labarbeitszeit.Caption
.Cells(6 + reihe2, 17).Value = labpause.Caption
.Cells(6 + reihe2, 18).Value = labüberstd.Caption
End With
...
Nun mein Problem:
Was muss hinter ComboBox1 als Befehl bzw. Eigenschaft stehen, damit die If-Abfrage nach z.B. "Tatjana" erfolgen kann.
Ich habe schon versucht:
If ComboBox1 = "Tatjana" Then
If ComboBox1.value = "Tatjana" Then
If ComboBox1.caption = "Tatjana" Then...
Klappt alles nicht.
Wer kann mir helfen?
Vielen Dank und Gruß
Babak

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-ComboBox -> Hilfe!!!
Ulf
Mach doch die Abfrage nach dem Listindex.
Ulf
AW: VBA-ComboBox -> Hilfe!!!
Babak
Hi Ulf,
verstehe leider nicht was du meinst.
Ich möchte aus meiner Userform mit Hilfe einer ComboBox entscheiden, in welchem Bereich der Arbeitsmappe "April" die Überstunden von Sabrina und Tatjana übertragen werden sollen.
Also, wenn ComboBox = Tatjana, dann kopiere die ganzen Berechnung dort hin, sonst wenn Combobox = Sabrina dann dort hin. Wenn aus der Combobox nichts angeklickt wird, dann MsgBox...
Wie müsste folgende If-Abfrage richtiger Weise lauten:
If ComboBox1 = "sabrina" Then ?
...
AW: VBA-ComboBox -> Hilfe!!!
Ulf
If Ucase(ComboBox1.text) = "SABRINA" Then
Ulf
Anzeige
AW: VBA-ComboBox -> Hilfe!!!
Babak
Vielen Dank Ulf!!! Jetzt klappt es!!!!
AW: VBA-ComboBox -> Hilfe!!!
Babak
Hi Ulf,
wenn ich die Werte von der Userform in die Tabelle übernehme, werden die Werte nicht als Zahlen anerkannt.
Ich habe in einer Zelle eine Formel, die aus den übertragenen Werten die Summe bilden soll. Diese klappt aber aus den genannten Gründen nicht.
Was kann ich da machen?
AW: VBA-ComboBox -> Hilfe!!!
Ulf
Schön wäre ein Codeschnipsel, dann brauch man nur zu ergänzen.
Ulf
AW: VBA-ComboBox -> Hilfe!!!
BAbak
Private Sub cmdübernahme_Click()
Dim reihe As Variant
Dim komm As Variant
Dim geh As Variant
Dim anfang As Variant
Dim ende As Variant
Dim pause As Variant
Dim sabrina As Variant
komm = frmbodis.txtkomm.Value
geh = frmbodis.txtgeh.Value
anfang = frmbodis.txtpause_a.Value
ende = frmbodis.txtpause_e.Value
pause = ende - anfang
arbeitszeit = (geh - komm) - pause
überstd = arbeitszeit - 8
reihe = Worksheets("april").Range("d1")
If Not IsNumeric(komm) Or Not IsNumeric(geh) Or Not IsNumeric(anfang) Or Not IsNumeric(ende) Then
MsgBox "Bitte Eingabe überprüfen! Diese Programm kann nur mit Zahlen rechnen."
Else
If komm = "" Or geh = "" Or anfang = "" Or ende = "" Then
MsgBox "Bitte alle Felder ausfüllen!"
Else
If komm = "0" Or geh = "0" Or anfang = "0" Or ende = "0" Then
MsgBox "Eingabe muss größer 0 sein!"
Else
If UCase(ComboBox1.Text) = "APRIL" Then
labpause.Caption = Format(pause, "0.00")
labarbeitszeit.Caption = Format(arbeitszeit, "0.00")
labüberstd.Caption = Format(überstd, "0.00")
With Worksheets("april")
.Cells(6 + reihe, 2).Value = komm
.Cells(6 + reihe, 3).Value = geh
.Cells(6 + reihe, 4).Value = anfang
.Cells(6 + reihe, 5).Value = ende
.Cells(6 + reihe, 6).Value = labarbeitszeit.Caption
.Cells(6 + reihe, 7).Value = labpause.Caption
.Cells(6 + reihe, 8).Value = labüberstd.Caption
End With
...
Übertragung in Excel, Zelle J6: =summe(h6:h35) also Summe der übertragenen Werte
Anzeige
AW: VBA-ComboBox -> Hilfe!!!
Ulf
Ich nehme mal an, dass es um Zeitwerte geht:
With Worksheets("april")
.Cells(6 + reihe, 2) = CDate(komm)
.Cells(6 + reihe, 3) = CDate(geh)
.Cells(6 + reihe, 4) = CDate(anfang)
.Cells(6 + reihe, 5) = CDate(ende)
.Cells(6 + reihe, 6) = labarbeitszeit.Caption
.Cells(6 + reihe, 7) = labpause.Caption
.Cells(6 + reihe, 8) = labüberstd.Caption
End With
Ulf
AW: VBA-ComboBox -> Hilfe!!!
Babak
Hi Ulf,
tatsächlich handelt es sich um Arbeitszeiten (Industrieminuten).
Ich habe deinen Vorschlag ein wenig verändert und dann eingesetzt. Jetzt klappt es.
With Worksheets("april")
.Cells(6 + reihe, 2) = CCur(komm)
.Cells(6 + reihe, 3) = CCur(geh)
.Cells(6 + reihe, 4) = CCur(anfang)
.Cells(6 + reihe, 5) = CCur(ende)
.Cells(6 + reihe, 6) = CCur(labarbeitszeit.Caption)
.Cells(6 + reihe, 7) = CCur(labpause.Caption)
.Cells(6 + reihe, 8) = CCur(labüberstd.Caption)
End With
Danke für deine Hilfe Ulf!!!!
Ich hoffe du bist morgen auch im Forum, denn ich habe noch einige Sachen, die geklärt werden müssen.
Danke und Gruß
Babak
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige