Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA nur Werte und Formate kopieren -- Fehlersuche

VBA nur Werte und Formate kopieren -- Fehlersuche
29.11.2013 14:04:21
WalterK
Hallo,
mit dem folgenden Code möchte ich einen Tabellenbereich in eine neu erstellte Datei kopieren, es sollen aber nur die Werte eingefügt und die Formate übernommen werden, aber keine Formeln.
1.) bei der Zeile PasteSpecial xlPasteValues kommt der Fehler: Fehler beim Kompilieren: Syntaxfehler ---> wo liegt hier der Fehler?
2.) was muss ich ergänzen damit auch die Formate mitübernommen werden?
Sub Datei_anlegen()
Dim wkbName As String, wkbNeu As String, wksName As String
wkbName = ThisWorkbook.Name
wksName = ActiveSheet.Name
Workbooks.Add
wkbNeu = ActiveWorkbook.Name
Workbooks(wkbName).Sheets(wksName).Range("H1:O46").Copy Workbooks(wkbNeu).Tabelle(1).Range("A1") _
.PasteSpecial xlPasteValues.
Dim pfad As String, dateiname As String
pfad = Workbooks(wkbName).Sheets(wksName).Range("G1")
dateiname = Workbooks(wkbName).Sheets(wksName).Range("F1")
Workbooks(wkbNeu).SaveAs Filename:=pfad & "\" & dateiname & ".xls"
ActiveWorkbook.Close
End Sub
Besten Dank für die Hilfe und
Servus, Walter

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA nur Werte und Formate kopieren -- Fehlersuche
29.11.2013 14:12:16
EtoPHG
Hallo Walter,
1. Der Punkt nach xlPasteValues muss weg! zudem
2. Die .PasteSpecial Methode kann nicht mit der .Copy Methode zusammenarbeiten. Du musst das trennen:
    Workbooks(wkbName).Sheets(wksName).Range("H1:O46").Copy
Workbooks(wkbNeu).Tabelle(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats

Gruess Hansueli

Anzeige
AW: VBA nur Werte und Formate kopieren -- Fehlersuche
29.11.2013 14:22:52
WalterK
Hallo Hansueli,
besten Dank für Deine Hilfe, es werden jetzt die Werte eingefügt.
Könntest Du mir auch noch mit den Formaten weiterhelfen?
Servus, Walter

Ergänzung
29.11.2013 14:33:00
WalterK
Hallo,
mit Formaten meinte ich auch die Hintergrundfarben und die Zellen-Einstellungen Links/Zentriert/Rechts.
Mein Fehler, ich hatte es zu wenig genau mitgeteilt.
Servus, Walter

Anzeige
Also etwa so...
29.11.2013 14:42:33
EtoPHG
Walter,
    With Workbooks(wkbNeu).Worksheets(1)
Workbooks(wkbName).Sheets(wksName).Range("H1:O46").Copy .Range("A1")
.Range("A1:H46").Value = .Range("A1:H46").Value
End With
Gruess Hansueli

Was genau verstehst du unter
29.11.2013 14:38:57
EtoPHG
Formate? Walter
Mein Code fügt die Werte und das Format der Zelle ein.
Nicht aber Formatierungen wie Hintergrundfarbe, Schriftart, -stil etc.
Wenn du ev. eingefügte Formeln in Werte umwandeln willst, mache:
Quelle.Copy Destination
und auf den eingefügten Bereich
Eingefügte.Range(...).Value = Eingefügte.Range(...).Value
Hoffentlich sitzen keine bedingte Formatierungen auf dem Quellbereich ;-)
Gruess Hansueli

Anzeige
Danke Hansueli, du hast ....
29.11.2013 14:43:24
WalterK
... mich auf den richtigen Weg gebracht. Es passt jetzt alles.
Servus, Walter

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige