2016-08-30 2 views
1

Ich versuche, ein Excel-Arbeitsblatt in eine andere Excel-Arbeitsmappe zu kopieren. Dies ist normalerweise nicht allzu schwierig, außer dass ich mein Arbeitsblatt in eine Arbeitsmappe verschiebe, die mit Variablen gespeichert wird. HierVerschieben oder kopieren Sie Excel-Tabelle in eine andere Arbeitsmappe (Zielarbeitsmappe wird mit Variable benannt)

ist ein bisschen meines Code:

Sheets.Add After:=Sheets(Sheets.Count) 
ActiveCell.FormulaR1C1 = "a" 
Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName) 

„Politik search“ immer das gleiche benannt werden, und dies ist die Arbeitsmappe ich zu bewegen versuchen. Ich versuche jedoch, es in eine Datei zu verschieben, die mit der Variablen "fname" und dem Blattnamen "SheetName" dynamisch gespeichert wird.

Jedes Mal, wenn ich versuche, dieses Bit Code auszuführen, erhalte ich einen Index außerhalb des Bereichsfehlers. Irgendwelche Ideen, wie das zu beheben ist?

Danke!

+1

Ist 'fname' eine String-Variable oder eine Arbeitsmappenvariable? –

+0

Zeichenfolge Variable. Soll ich es in Arbeitsmappe ändern? –

+0

Gibt es das Blatt "Policy Search"? Existiert die mit 'fname' bezeichnete Arbeitsmappe und ist sie offen? Enthält diese Arbeitsmappe ein Blatt, auf das sich die Variable 'SheetName' bezieht? (Oder ist das ein Tippfehler und soll '' SheetName '' sein?) – YowE3K

Antwort

0

Try this:

Sub MoveSheet() 
    Sheets("Policy Search").Select 
    Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName) 
End Sub 

Es "Policy Search" ist das aktive Blatt annimmt.

+0

Das ist tatsächlich, was ich vorher geschrieben hatte. Immer noch der gleiche Fehler. Trotzdem danke. –

Verwandte Themen