habe mir mit dem Macrorecorder einen VBA-Code gebastelt, mit dessen Hilfe ich Werte spaltenweise in bestimmtes Tabellenblatt importieren möchte. Es muss spaltenweise geschehen, da die jeweiligen Werte der Quelldatei in andere Bereich in der Zieldatei importiert werden sollen; also die Werte aus B23:B1000 beispielsweise sollen in der Zieldatei aber D33 dargestellt werden.
Der Code soll aus der Zieldatei angestoßen werden.
Der nachfolgende Code ist abgekürzt; insgesamt sollen ca. 20 Spalten jeweils ab Zeile 23 kopiert und dann platenweise ab Zeile 33 importiert werden.
Nun mein Problem: Der nachfolgender Code stoppt zwischendurch immer wieder. Ich muss ihn immer wieder neu anstoßen, dann werden schließlich alle Werte übertragen.
Insgesamt kommt mir die Hin- und Herspringerei sowieso etwas unbeholfen vor.
Was mache ich falsch?
Gibt es eine besser Methode?
Herzlichen Dank
Dietmar aus Aachen
Option Explicit
Sub DatenImportieren()
Application.ScreenUpdating = False ' Ausschalten der Bildschirmaktualisierung, _
flackern weg
Windows("Quelle.xls").Activate
Application.EnableEvents = False 'weil sonst wegen Passwortabfrage gestoppt wird
Sheets("Statistik").Select
ActiveSheet.Unprotect Password:="123" ' Passwort ausschalten, damit Makro funktioniert
Range("A25:A1000").Copy
Windows("Ziel.xls").Activate
Sheets("Statistik").Select
ActiveSheet.Unprotect Password:="123" ' Passwort ausschalten, damit Makro funktioniert
Range("A33").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Quelle.xls").Activate
Application.EnableEvents = False
Sheets("Statistik").Select
ActiveSheet.Unprotect Password:="123" ' Passwort ausschalten, damit Makro funktioniert
Range("B25:B1000").Copy
Windows("Ziel.xls").Activate
Sheets("Statistik").Select
ActiveSheet.Unprotect Password:="123" ' Passwort ausschalten, damit Makro funktioniert
Range("D33").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Quelle.xls").Activate
Sheets("Statistik").Select
Application.CutCopyMode = False
Windows("Ziel.xls").Activate
Sheets("Statistik").Select
ActiveSheet.Unprotect Password:="123" ' Passwort ausschalten, damit Makro funktioniert
Range("A33").Select
Windows("Quelle.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=False
Windows("Ziel.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub