873 Aufrufe
Gefragt in Tabellenkalkulation von b25812 Mitglied (509 Punkte)
Hallo,
ich möchte per VBA was Kopieren. Soweit ist das auch kein Problem. z.b d3-d12 und
das fügt er dann in A30 ein. Dann sind dann 10 Zellen. Nun soll er den nächsten Block
H3-H7 unten an die Spalte A anfügen. Das heißt bevor er einfügt, muss er schauen wo
war der letzte Eintrag in der Spalte A und danach soll er den nächsten Block dort
einfügen.
Habt Ihr da eine Idee ???

22 Antworten

0 Punkte
Beantwortet von b25812 Mitglied (509 Punkte)
Hallo Nighty,

danke !!!! Geht super.
Noch eine kleine Frage ich möchte die Spalte A ohne Überschrift nach der Verarbeitung wieder leeren. Habe dafür diesen VBA.
Aber leider schreibt er mir eine Fehlermeldung in der 3 Zeile. Kannst du sagen warum?



Private Sub CommandButton2_Click()
Sheets("Lagerorte").Select
Columns("A:A").Select
Selection.ClearContents
Range("A1").Select
ActiveCell.FormulaR1C1 = "Lagerorte"
Range("A2").Select
Sheets("Lagerort für Fachboden ").Select
Range("A2").Select
End Sub



Gruß Thomas
0 Punkte
Beantwortet von b25812 Mitglied (509 Punkte)
Hallo,

ich habe zu dem Code noch eine Frage. Er funktioniert aber bei Zahlen die mit
2001-01/10
2001-01/20
2001-01/30
anfangen kommt leider ein falsches Ergebnis raus z.b
36901
10.02.2001
20.01.2001
20.02.2001
20.03.2001
30.01.2001
kann man den Code so abändern das er das Format bei behält ???

Der Code lautet:

Sub Makro()
Dim ArtDat As Variant
Dim Anzahl As Long
Dim Zeilen As Integer
ArtDat = Worksheets(1).Range("A1:B" & Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row)
For Anzahl = 2 To UBound(ArtDat)
For Zeilen = 1 To ArtDat(Anzahl, 2)
Worksheets("Lagerorte").Cells(Worksheets("Lagerorte").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) = _
Mid(ArtDat(Anzahl, 1), 1, InStr(ArtDat(Anzahl, 1), "-")) & String(Len(Mid(ArtDat(Anzahl, 1), _
InStr(ArtDat(Anzahl, 1), "-") + 1, InStr(ArtDat(Anzahl, 1), "/") - InStr(ArtDat(Anzahl, 1), "-") _
- 1)) - Len(CStr(Zeilen)), "0") & Zeilen & Mid(ArtDat(Anzahl, 1), InStr(ArtDat(Anzahl, 1), "/"), Len(ArtDat(Anzahl, 1)))
Next Zeilen
Next Anzahl
End Sub

Danke
Gruß Thomas
...