18.02.2023, 19:29
Hallo Eslem,
Calderon hat recht, dazu brauchts kein Makro.
Wenn du aber partout eins schreiben willst, dann setzte den nachfolgenden Code vor dein Makro2 im Modul1.
Wenn etwas unverständlich ist: die Hilfe hilft meistens!
Calderon hat recht, dazu brauchts kein Makro.
Wenn du aber partout eins schreiben willst, dann setzte den nachfolgenden Code vor dein Makro2 im Modul1.
Wenn etwas unverständlich ist: die Hilfe hilft meistens!
Code:
Option Explicit 'ist sinnvoll, um Schreibfehler zu erkennen
'erzwingt die Deklaration von Variablen
'zu deinem Code in Makro2
'es geht (fast) immer ohne Select und Activate
'siehe MeinMakro
'die ersten 4 Zeilen von Makro2 werden durch die folgende Zeile auch realisiert
'Sheets("Tabelle1").Range("A2").Copy Destination:=Sheets("Tabelle2").Range("A2")
Sub MeinMakro()
Dim zeile As Long
'das, was du vermutlich realisieren willst, kann man auch so schreiben
With Sheets("Tabelle1")
'damit man nicht so vielk schreiben muss, in den folgenden Zeilen bedeutet dann
'.Range(xyz) das Gleiche wie Sheets("Tabelle1").Range(xyz)
For zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
'für alle Zeilen von 2 bis zu der Zeile, in der in SPalte A (=1) noch etwas steht
.Cells(zeile, 1).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 1) 'ProduktNr
.Cells(zeile, 2).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 2) 'Bezeichnung
.Cells(zeile, 11).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 3) 'Angebotsnr
.Cells(zeile, 12).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 4) 'Angebotsdatum
.Cells(zeile, 16).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 5) 'Bestellnr
Next zeile
End With
ActiveWorkbook.Save
End Sub
Gruß der AlteDresdner (Win11, Off2021)