AW: Makro erweitern
22.08.2017 14:59:45
Piet
Hallo Norbert,
danke für die Datei, ich denke ich habe das System so gut verstanden das wir mit einem neuen Makro auskommen. Wenn nur 1mal kopiert werden muss kannst du das verbesserte Makro1 verwenden. Ansonsten das neue Makro: - Kopieren_über_InputBox
Ich denke der Code ist so einfach geschrieben das man ihn kaum erklaeren muss. Ich benutze die Set Anweisung um die Tabellen zum Objekt zu erklaeren. Dann kann man uber .Cells oder .Offset in die naechsten Zellen kopieren.
mfg Piet
Option Explicit '22.8.2017 Piet Herber Forum
'Überarbeitet:
Dim Art As Worksheet 'Artikel
Dim Fml As Worksheet 'Formel
'neues Makro über InputBox mit Abbruch Möglichkeit
Sub Kopie_Über_Input()
Dim Zahl As Integer, i As Integer
Set Art = Worksheets("Artikel")
Set Fml = Worksheets("Formel")
Zahl = Application.InputBox("Ganzzahl >0:", "Anzahl Durchläufe", 1, , , , , 1)
If Zahl = Empty Then Exit Sub
For i = 1 To Zahl
'Zelle versetzt um "i" kopieren
Art.Range("B4").Cells(i, 1).Copy
Fml.Range("N2").PasteSpecial Paste:=xlPasteValues, Transpose:=False
'Zelle versetzt um i einfügen
Fml.Range("L29").Copy
Art.Range("S4").Cells(i, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=False
Next i
Application.CutCopyMode = False
End Sub
'altes Makro zum einmal kopieren
Sub Makro1()
Set Art = Worksheets("Artikel")
Set Fml = Worksheets("Formel")
Art.Range("B4").Copy
Fml.Range("N2").PasteSpecial Paste:=xlPasteValues, Transpose:=False
Fml.Range("L29").Copy
Art.Range("S4").PasteSpecial Paste:=xlPasteValues, Transpose:=False
Application.CutCopyMode = False
End Sub