2016-07-26 5 views
0

Ich möchte Txt-Blatt von Excel kopieren A in Server zu Excel B in Client und ich muss .Exe-Datei erstellen. Dieser Code hatte ich auf Makro Excel xlsx ausgeführt. es funktionierte. Aber wenn ich XLtoEXE.exe von http://orlando.mvps.org/XLtoEXEMore.asp verwende, um Datei in exe zu konvertieren. Dann starte ich es nochmal in exe. Es hat nicht funktioniert. bitte erzähle mir warum? Und wie kann ich dieses Problem lösen?Wie kopiert man Blatt von Excel in Server auf Client

Dim a As Workbook 
Dim b As Workbook 
Dim txt As String 


Sub Button1_Click() 
txt = InputBox("sheet name") 
MsgBox txt 
Set a = Workbooks.Open(Filename:="\\DESKTOP-E8QK413\Videos\target.xlsx.xlsx") 
Set b = Workbooks("book1.xlsx") 
a.Sheets(txt).Copy after:=b.Sheets(1) 
a.Close 

End Sub 

enter image description here

+0

In welcher Zeile erhalten Sie Ihren Fehler? Ist 'Workbooks (" book1.xlsx ") bereits geöffnet? Wenn nicht, müssen Sie es zuerst öffnen. Wenn es geöffnet ist, sollte die Deklaration 'Set b = Arbeitsbücher (" book1 ")' –

+0

irgendwelche Updates sein? Ist dein Problem gelöst? –

+0

Entschuldigung für die verspätete Antwort. Die Fehlerzeile lautet 'a.Sheets (txt) .Copy after: = b.Sheets (1)'. Dieser Code läuft auf book1.exe –

Antwort

0

Ich bin nicht sicher, warum Sie eine Exe-Datei benötigen. Der folgende Code befindet sich in einem Modul in einer Excel-Datei mit der Erweiterung .xlsm, sagen wir CopySheets.xlsm.

Fügen Sie einen CommandButton zu einem user_form (oder vielleicht in einem der Blätter, wenn es einfacher ist), und haben Sie den Code unten in einem Modul in dieser Datei.

Option Explicit 

Dim a As Workbook 
Dim b As Workbook 
Dim txt As String 
Dim sht As Worksheet 

Sub Button1_Click() 


Set a = Workbooks.Open("\\DESKTOP-E8QK413\Videos\target.xlsx.xlsx") 

' (Filename in brackets must have full path and .xlsx extension)' 
Set b = Workbooks.Open(AddWorkbookPath"Book1.xlsx") 

txt = InputBox("Select Sheet name to Copy") 
' loop through workbook a sheets and check is txt is found 
For Each sht In a.Sheets 
    ' sheet exists in workbook a 
    If txt = sht.Name Then 
     MsgBox "Sheet " & txt & " found in workbook " & a.Name 
     GoTo Proceed_Copy 
    End If 
Next sht 

' error message - sheet not found in worbook a 
MsgBox "Sheet " & txt & " NOT found in workbook " & a.Name 

' close both workbooks in case sheet name was not found 
a.Close 
b.Close 

End 

Proceed_Copy: 
a.Sheets(txt).Copy after:=b.Sheets(1) 
a.Close 
b.Close (xlSaveChanges) 

End Sub 
Verwandte Themen