2016-08-09 11 views
0

Ich versuche, VBA zu verwenden, um Werte nur aus einer einzelnen Registerkarte in einer Excel-Arbeitsmappe (Arbeitsmappe Titel "Arbeitsmappe1" der Einfachheit halber) in eine neue Arbeitsmappe zu kopieren Dann fordert Sie der Benutzer auf, die neue Datei zu speichern. Die Registerkarte innerhalb von "workbook1" heißt "OUTPUT" und die neue Datei sollte Formatierung beibehalten. Wie mache ich das?Erstellen Sie neue Datei mit Werten nur von einer Registerkarte in einer Excel-Arbeitsmappe

Sub nowe() 
    Dim Output As Workbook 
    Dim FileName As String 
    Set Output = Workbooks.Add 
    Application.DisplayAlerts = False 
    ThisWorkbook.Worksheets("OUTPUT").Cells.Copy 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ 
          SkipBlanks:=True, Transpose:=False 
    Selection.PasteSpecial Paste:=xlPasteFormats 
End Sub 

Das funktionierte, aber Werte nicht fügen:

Sub GetQuote() 
    ThisWorkbook.Sheets("OUTPUT").Copy 
    Application.Dialogs(xlDialogSaveAs).Show 
End Sub 
+0

beginnen Sie damit, uns etwas zu geben, mit dem Sie arbeiten können, Ihre Code-Einstellungen. Teilen Sie Screenshots Ihrer Daten und das gewünschte Ergebnis. –

+0

ich schon versucht, diese .... Sub nowe() Dim Ausgabe As Arbeitsmappe Dim Dateiname As String Set Output = Workbooks.Add Application.DisplayAlerts = False ThisWorkbook.Worksheets ("OUTPUT"). Cells.Copy Selection.PasteSpecial Paste: = xlPasteValues, _ Operation: = xlNone, Skipblanks: = True, Transponieren: = false Selection.PasteSpecial Paste: = xlPasteFormats End Sub – Linette

+0

Es muss nur sein die Gesamtheit der t ab, so dass die Daten in diesem Tab keine Rolle spielen sollten. Ich möchte es nicht auf eine Bandbreite beschränken. – Linette

Antwort

0

Dies sollte den Trick tun (ich den Code kommentiert, für eine bessere Erklärung)

Sub CopyOutput() 

    'Define Variable 
    Dim NewBook As Workbook 
    'Create New Workbook 
    Set NewBook = Workbooks.Add 

    'Copy Worksheet "OUTPUT" into new Workbook 
    ThisWorkbook.Sheets("OUTPUT").Copy After:=NewBook.Sheets(1) 

    'Disable Screen updates, delete the first (empty) tab, the new worbook was created with, then reactivate screen updates 
    Application.DisplayAlerts = False 
    NewBook.Sheets(1).Delete 
    Application.DisplayAlerts = True 

    'Open Save as dialog 
    Application.GetSaveAsFilename 

End Sub 

Lassen Sie mich wissen, wenn das funktioniert

Beste seulberg1

Verwandte Themen