2.2k Aufrufe
in Tabellenkalkulation von b25812 Mitglied (519 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
von b25812 Mitglied (519 Punkte)
Hallo M.O
habe es getestet und geht Super! Danke dafür. Was müsste ich ändern
wenn ich es in Spalte B einfügen möchte ?

Gruß Thomas
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo Thomas,

wenn du die kopierten Daten in Spalte B einfügen willst, dann ändere
With Cells(lngLetzte, 1)

in

With Cells(lngLetzte, 2)


Spalte A = 1, Spalte B = 2 usw.

Gruß

M.O.
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

noch vergessen:
Du musst ja außerdem noch die Ermittlung der letzten Zeile entsprechend anpassen. Also statt
lngLetzte = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

dann
lngLetzte = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row


Gruß

M.O.
0 Punkte
von b25812 Mitglied (519 Punkte)
Hallo M.O.

hat Super geklappt, danke für deine Unterstützung.

Gruß Thomas
0 Punkte
von b25812 Mitglied (519 Punkte)
Hallo,
ich hätte da noch was :-)
Ich habe in A2+A3+A4 usw. folgende Zahl ( als Text formatiert )
1101-01/10
1101-01/20
1101-01/30

in B2+B3+B4 usw Trage ich einen Variablen Wert ein z.b.

2
3
3

Nun soll er in einer anderen Tabelle, ich sage mal " Lagerorte "
ab A2 folgendes stehen.

1101-01/10
1101-02/10
1101-01/20
1101-02/20
1101-03/20
1101-01/30
1101-02/30
1101-03/30

Das heißt je nach dem was ich bei b2 oder b3 eintrage, soll sich der
Wert nach dem Minus Zeichen ändern
Ich hoffe mir kann man folgen.

Gruß Thomas
0 Punkte
von
Hallo Thomas

Probier mal

Gruss Nighty

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(2).Cells(Worksheets(2).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
0 Punkte
von
Hallo Thomas

Vorrangestellte nullen werden von Spalte A erfasst und gegebenenfalls aufgegüllt

Gruss Nighty
0 Punkte
von b25812 Mitglied (519 Punkte)
Hallo Nighty
danke für die Antwort, ich kann aber leider nicht erkennen wo die Anwendung auf die Tabelle Lagerorte hinweist.
Übersehe ich da was ?

Gruß Thomas
0 Punkte
von
Hallo Community .-)

Den Worksheet Index 2 gegen "Lagerorte" ersetzt!

Gruss Nighty

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(2).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
0 Punkte
von
Hallo Community

ops,waren ja zwei änerungen

Gruss Nighty

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

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...