da ich in VBA nicht so bewandert bin, bitte ich um eure Hilfe.
Ausgangssituation:
Arbeitsblätter mit Namen Master; GM;MA;SB;KD;GO; usw.
Im Master werden die Zellen A2 bis L2 ausgefüllt.
In A2 steht jedes mal der Name des Blattes z.B. GM
Nun sollen diese Werte sowohl in die nächste leere Zeile des Masterblattes, sowie in die nächste leere Zeile des Blattes, das in A2 steht. (also Arbeitsblatt GM )
Mit diesem Makro das ich gefunden habe funktioniert es.
Was muss geändert werden, wenn in A2 nicht mehr GM steht sondern MA oder SB usw. Gibt es eine Möglichkeit das richtige Arbeitsblatt auszuwählen und die Daten in die nächste leere Zeile zu kopieren?
Sub Daten_eintragen()
Dim Zeile
'nur wenn in a2 und b2 etwas drinsteht dann eintragen
If [a2] <> "" And [b2] <> "" Then
'Blattschutz aufheben
ActiveSheet.Unprotect
'letzte benutzte Zeile ermitteln + 1
Zeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row + 1
'Daten eintragen
Cells(Zeile, 1) = [a2]
Cells(Zeile, 2) = [b2]
Cells(Zeile, 3) = [c2]
Cells(Zeile, 4) = [d2]
Cells(Zeile, 5) = [e2]
Cells(Zeile, 6) = [f2]
Cells(Zeile, 7) = [g2]
Cells(Zeile, 8) = [h2]
Cells(Zeile, 9) = [i2]
Cells(Zeile, 10) = [j2]
Cells(Zeile, 11) = [k2]
Cells(Zeile, 12) = [l2]
Dim lRow As Long
With Worksheets("GM")
lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("b2:l2").Copy .Cells(lRow, 1)
End With
'Eingaben löschen
[a2:l2] = ""
'letzte Zeile in sichtbaren Bereich holen
Cells(Zeile, 1).Select
Else
MsgBox "Bitte Namen eintragen"
End If
'Blattschutz aktivieren
ActiveSheet.Protect
End Sub
Vielleicht gibt es ja auch eine viel einfachere Methode.
mfg
Anton