Hey,
danke im Voraus für alle Antworten.
Ich bin noch recht neu im Nutzen von Excel VBA. In meiner UserForm habe ich mehrere Bereiche, in denen Angaben zu einem Schaltfeld gemacht werden (z.B. Anzahl der Sammelschienen, Anzahl der Abgangserder, Synchrocheck ja oder nein, ...) Je nach Auswahl, sollen aus einem "Katalog"-Tabellenblatt Zeilen kopiert und in meine Liste in die letzte freie Zeile eingefügt werden.
Meine Suche nach der letzten freien Zeile habe ich wie folgt geschrieben:
Dim last As Integer
last = Worksheets("Liste").Cells(Rows.Count, 1).End(xlUp).Row + 1
Danach kommen die Copy-Paste Bedingungen:
'Feldart
Worksheets("Liste").Cells(last, 1) = TextBox_Feldname.Text
Worksheets("Liste").Cells(last, 2) = ComboBox_Feldart.Value
Worksheets("Liste").Cells(last, 3) = ListBox_Spannungsebene.Value
'Anzahl der Sammelschienen
If OptionButton_SS1 = True Then ActiveSheet.Range("2:2").Copy Destination:=Worksheets("Liste").Cells(last, 1)
If OptionButton_SS2 = True Then ActiveSheet.Range("3:3").Copy Destination:=Worksheets("Liste").Cells(last, 1)
If OptionButton_SS3 = True Then ActiveSheet.Range("4:4").Copy Destination:=Worksheets("Liste").Cells(last, 1)
Anzahl der Abgangserder
If TextBox_AE.Value = "1" Then ActiveSheet.Range("5:5").Copy Destination:=Worksheets("Liste").Cells(last, 1)
If TextBox_AE.Value = "2" Then ActiveSheet.Range("6:6").Copy Destination:=Worksheets("Liste").Cells(last, 1)
If TextBox_AE.Value = "3" Then ActiveSheet.Range("7:7").Copy Destination:=Worksheets("Liste").Cells(last, 1)
If TextBox_AE.Value = "4" Then ActiveSheet.Range("8:8").Copy Destination:=Worksheets("Liste").Cells(last, 1)
usw.
Das ActiveSheet ist mein Katalog, die Steuerelemente sind soweit initialisiert. Einzeln funktionieren die Befehle, nur wenn ich sie untereinander ablaufen lassen möchte, wird nicht die unterste freie Zeile beschrieben, sondern bereits ausgefüllte Zeilen werden überschrieben. Hoffentlich wurde mein Problem deutlich. Ich freue mich über jede HIlfe!
Lieben Dank und schöne Grüße
eine ahnungslose Studentin
|