2017-02-23 6 views
0

Ich erstelle ein Makro, das Scans verarbeiten und formatieren (SCANfile # .xlm) gespeichert als .xlm-Dateien Das Endergebnis sollte eine verarbeitete, formatierte Arbeitsmappe sein, die gespeichert wird eine Excel-Datei. Ich erstelle das Makro in einer Arbeitsmappe, die ich SCANMacro für den Zweck dieser Diskussion nennen werde, mit der Absicht, es gleichzeitig mit dem SCANfile # Arbeitsbuch zu öffnen, das ich zu der Zeit geöffnet habe.Kopieren und Einfügen von Makro-Arbeitsmappe in mehrere Arbeitsmappen Excel

Sub Copy and Paste Data() 
'select cell on target workbook/worksheet 
Range("X1").Select 
' 
'select the data from the saved workbook that the macro runs from 
' 
Columns("SCAMNmacro.xlsm C:G").Select 
Selection.Copy 
' 
'Paste into SCANfile#.xlm.xml 
' 
Windows("SCANFILE01.xml").Activate 
Range("X1").Select 
ActiveSheet.Paste 

End Sub 

Dies funktioniert fabulously solange ich es von der SCANfile01.xml laufe ich, wie ich sie geschaffen geöffnet hatte. Sobald ich die Makro-aktivierte Arbeitsmappe mit einer anderen Scan-Datei öffne, wird ein Fehler ausgegeben.

Wie stelle ich das ein, damit das Makro auf jedem ScanSheet funktioniert? Ich habe versucht, mit Thisworkbook und Activeworkbook ohne Erfolg zu arbeiten. Ich bin kein Programmierer, also wurde das meiste mit mir aufgenommen, indem ich innerhalb des VBA-Editors zwickt.

Antwort

0

Verwenden Arbeitsmappe Variablen zur Referenzierung der richtigen Arbeitsbücher:

Dim MacroSheet as Workbook 
Set MacroSheet = ThisWorkbook 

Dim ScanFile as Workbook 
Set ScanFile = Workbooks.Open("PATH TO YOUR FILE") 

Dann können Sie es wie folgt verwenden:

MacroSheet.Columns("G").Copy 
+0

Das funktionierte. VIELEN DANK! – chaoslodge

Verwandte Themen