Hallo liebe Forumsmitglieder,
Ich bin Ole und noch relativ neu mit Excel und VBA, aber muss momentan ein kleines Projekt fertigstellen und bin ein klein wenig verzweifelt. Hoffentlich könnt Ihr mir helfen. :)
Ich bin gerade dabei ein Formular zu erstellen, in welchem man Daten für einen Test anlegt. Bestimmte Daten sollen per Knopfdruck zum einen in das Tabellenblatt "Testprotokoll" & zum anderen und das ist mein Problem, sollen die gesamten Daten, je nachdem welcher Wert in der Zelle Thema bzw. C7 steht, in das Tabellenblatt mit dem gleichen Namen kopiert werden.
Mein aktueller Code sieht wie folgt aus:
Sub Daten_zu_Protokoll()
Dim Test_ID As String
Dim Testbezeichnung As String
Dim Thema As String
Dim Release As String
Dim Sprint As String
Dim Vorbedingung As String
Dim Testschritte As String
Dim Ergebnis As String
Dim Nachbedingung As String
Worksheets("Eingabe").Select
Test_ID = Range("C3")
Testbezeichnung = Range("C5")
Thema = Range("C7")
Release = Range("C9")
Sprint = Range("C11")
Vorbedingung = Range("C13")
Testschritte = Range("C15")
Ergebnis = Range("C17")
Nachbedingung = Range("C19")
Worksheets("Testprotokoll").Select
Worksheets("Testprotokoll").Range("A1").Select
If Worksheets("Testprotokoll").Range("A1").Offset(1, 0) <> "" Then
Worksheets("Testprotokoll").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Test_ID
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Testbezeichnung
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Thema
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Release
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Sprint
Worksheets("Flotte").Select
Worksheets("Flotte").Range("B8").Select
If Worksheets("Flotte").Range("B8").Offset(1, 0) <> "" Then
Worksheets("Flotte").Range("B8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Test_ID
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Testbezeichnung
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Thema
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Release
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Sprint
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Vorbedingung
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Testschritte
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Ergebnis
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Nachbedingung
End Sub
Private Sub CommandButton1_Click()
End Sub
Ich weiß so zirka wie If-Statements funktionieren, aber ich weiß nicht wie ich die "doppelte Verschachtelung" hinkriege.. Ich meine, dass ja zum einen anhand des Werts in der Zelle Thema entschieden werden muss, in welches Tabellenblatt die Daten kopiert werden müssen & dann muss die If-Funktion mit, welche sagt, dass wenn die Zeile im Zieltabellenblatt schon beschrieben ist, eine Zeile weiter unten genutzt werden muss.
Kann man den Befehl, dass die Daten immer in eine neue Zeile kopiert werden sollen, sollte die andere belegt sein, irgendwie anders schreiben, also ohne If-Then?
Ich hoffe Ihr versteht mein Problem und könnt mir irgendwie weiterhelfen! Anhand findet Ihr noch ein Bild von dem Formular.
Bleibt gesund & beste Grüße
Ole
|