Code funktionier NUR im Entwurfsmodus.Wieso?
01.12.2013 15:32:22
Julian
Ich klicke auf die Schaltfläche (Tabelle3), es öffnet sich eine UserForm. Hier wähle ich über eine Auswahlliste meine Aktivitäten (Laufen, VBA lernen usw.) und entsprechende Uhrzeit aus. Meine Auswahl wird dann in die Zeile mit dem aktuellen Datum eingefügt (Tabelle1).
Wenn ich meinen Code im Entwurfsmodus starte funktioniert alles super. Hierzu Doppelklick auf die UserForm, der Code wird angezeigt und ich starte das Programm. Nach durchlaufen des Programms bin ich noch immer im Entwurfsmodus.
Öffne ich den Code jedoch über meine Schaltfläche, in der normalen Excel-Ansicht, dann wird der Code ausgeführt aber leider werden keine Daten in entsprechende Zellen geschrieben.
Meine Frage daher, warum funktioniert das Programm im Entwurfsmodus (Alt+F11) aber nicht in der normalen Excel Ansicht?
Schaltfläche / Modul in Tabelle 3:
Option Explicit
Private Sub Schaltfläche1_Klicken() 'Schaltfläche öffnet die UserForm
UserForm1.Show
End Sub
User Form:Option Explicit
Private Sub UserForm_Initialize() ' Füllen der ComboBox mit den Daten
Dim Wieder As Integer
For Wieder = 2 To Sheets("Tabelle2").Range("A8").End(xlUp).Row 'bei A8 nach oben gehen. Wenn in _
A8 ein Wert steht, dann funktioniert "nach oben laufen" nicht
ComboBox1.AddItem Sheets("Tabelle2").Cells(Wieder, 1)
Next
For Wieder = 2 To Sheets("Tabelle2").Range("A8").End(xlUp).Row
ComboBox2.AddItem Sheets("Tabelle2").Cells(Wieder, 1)
Next
For Wieder = 2 To Sheets("Tabelle2").Range("A8").End(xlUp).Row
ComboBox3.AddItem Sheets("Tabelle2").Cells(Wieder, 1)
Next
TextBox1.Text = Sheets("Tabelle1").Cells(2, 1) ' aktuelles Datum
End Sub
Private Sub CommandButton1_Click() 'Schaltfläche Daten übernehmen
Dim xyz As Integer
xyz = 2 'Xyz läuft durch um aktuelles Datum mit Zieldatum zu vergleichen. Danach werden die _
Daten aus der Userform in entsprechnde Zellen geschrieben
Do Until xyz = 365
If Sheets("Tabelle1").Cells(2, 1) = Cells(xyz, 2) Then
Sheets("Tabelle1").Cells(xyz, 3) = ComboBox1.Text
Sheets("Tabelle1").Cells(xyz, 4) = Format(TextBox2.Text, "hh:mm")
Sheets("Tabelle1").Cells(xyz, 5) = Format(TextBox3.Text, "hh:mm")
Sheets("Tabelle1").Cells(xyz, 6) = ComboBox2.Text
Sheets("Tabelle1").Cells(xyz, 7) = Format(TextBox4.Text, "hh:mm")
Sheets("Tabelle1").Cells(xyz, 8) = Format(TextBox5.Text, "hh:mm")
Sheets("Tabelle1").Cells(xyz, 9) = ComboBox3.Text
Sheets("Tabelle1").Cells(xyz, 10) = Format(TextBox6.Text, "hh:mm")
Sheets("Tabelle1").Cells(xyz, 11) = Format(TextBox7.Text, "hh:mm")
End If
xyz = xyz + 1
Loop
Unload Me
End Sub