Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte und Formate einfügen

Werte und Formate einfügen
01.07.2020 11:41:32
börny
Hi Leute,
folgenden Code verwende ich, um Daten von einer Exceldatei in die Zieldatei (Datei, von der ich das Makro starte) zu kopieren.
Ich erhalte aber eine Fehlermeldung "400", der wohl auf die Codezeilen für Werte und Formate einfügen zurückzuführen ist. Welche Lösung gibt es für dieses Problem?
Public Sub Daten_kopieren_Keil()
Dim strPfad As Variant, Quelle As Workbook
Dim ws As Worksheet, boGefunden As Boolean
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
Else
MsgBox "Nichts ausgewählt!"
Exit Sub
End If
For Each ws In Quelle.Worksheets
Select Case ws.Name
Case "5.1 GuV_ÜbersichtK"
With ws
boGefunden = True
End With
Exit For
Case Else
End Select
Next ws
If boGefunden Then
ws.Cells.Copy
ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:=xlValues 'Werte  _
einfuegen
ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:=xlPasteFormats 'Formate  _
einfuegen
Application.CutCopyMode = False
Else
MsgBox "Blatt nicht gefunden."
End If
Windows(ThisWorkbook.Name).Activate
End Sub
Vielen Dank,
Börny

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte und Formate einfügen
01.07.2020 11:51:15
Regina
Hi Börny,
verwende beim Einfügen nicht Range("A1") sondern wie beim KOpieren "Cells". Damit sollte es klappen.
Gruß Regina
AW: Werte und Formate einfügen
01.07.2020 13:14:41
börny
Hi Regina,
danke für den Tipp. Problem ist, dass damit die Formeln mitkopiert werden. Ich möchte aber nur Werte und Formate kopieren.
Irgend eine Idee, wie ich das integriert bekomme?
Danke,
B
AW: Werte und Formate einfügen
01.07.2020 11:54:57
Rudi
Hallo,
versuchs mal so:
Public Sub Daten_kopieren_Keil()
Dim strPfad As Variant, Quelle As Workbook
Dim ws As Worksheet
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
On Error Resume Next
Set ws = Quelle.Worksheets("5.1 GuV_Übersichtk")
On Error GoTo 0
If Not ws Is Nothing Then
ws.Cells.Copy
With ThisWorkbook.Worksheets("Keil_GuV").Range("A1")
.PasteSpecial Paste:=xlValues 'Werte einfuegen
.PasteSpecial Paste:=xlPasteFormats 'Formate einfuegen
End With
Application.CutCopyMode = False
Else
MsgBox "Blatt nicht gefunden."
End If
Else
MsgBox "Nichts ausgewählt!"
End If
ThisWorkbook.Activate
End Sub
Bei der Kopieraktion musst du natürlich sicherstellen, dass du nicht aus dem aktuellen Format (A1:XFD1048576) in eine alte Mappe (A1:IV65536) kopierst.
Gruß
Rudi
Anzeige
AW: Werte und Formate einfügen
01.07.2020 13:32:13
börny
Hi Rudi,
besten Dank hierfür. Ich erhalte aber eine Fehlermeldung 400 wenn ich das Makro ablaufen lasse. Da passt also etwas nicht ganz. Irgend eine Idee?
Das Ziel sollte sein, Werte und Zahlenformate einzufügen. DAs reine Kopieren funktioniert schon.
DAnke,
Börny
AW: Werte und Formate einfügen
01.07.2020 14:01:18
Regina
... wo tritt denn die Fehlermeldung auf? (welche Zeile wird markiert?)
Was soll denn auch das On Error Resume Next? Damit unterdrückst Du ja Fehlermeldungen ...
Gruß Regina
AW: Werte und Formate einfügen
01.07.2020 14:17:32
börny
Also, wenn ich das Makro Schritt für Schritt durchlaufen lasse, erhalte ich für die Zeile
On Error Resume Next
die Meldung "Nicht genug Speicher für eine vollständige Anzeige".
Das Makro läuft aber ertsmal noch weiter und kopiert aus der geöffneten Quelldatei die Daten.
Die Fehlermeldung 400 kommt dann bei Zeile
With ThisWorkbook.Worksheets("Keil_GuV").Range("A1")
Danke,
Börny
Anzeige
AW: Werte und Formate einfügen
01.07.2020 14:38:15
Regina
... dann schmeiß das Om Error ... mal raus, damit der Fehler auch sichtbar wird
Gruß Regina
Dauernd ändern sich die Vorgaben...
01.07.2020 14:13:39
Werner
Hallo,
...da macht Hilfe mal richtig Spaß.
Eigentlich heißt das auch Paste:=xlPasteValues und nicht Paste:=xlValues
Aber mit beiden Versionen habe ich es getestet und konnte den von dir angesprochenen Fehler nicht reproduzieren.
Mit dem Code:
Public Sub Daten_kopieren_Keil()
Dim strPfad As Variant, Quelle As Workbook
Dim ws As Worksheet, boGefunden As Boolean
Application.ScreenUpdating = False
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
Else
MsgBox "Nichts ausgewählt!"
Exit Sub
End If
For Each ws In Quelle.Worksheets
Select Case ws.Name
Case "5.1 GuV_Übersicht"
With ws
boGefunden = True
End With
Exit For
Case Else
End Select
Next ws
If boGefunden Then
ws.Cells.Copy
ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:=xlPasteValues
ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.DisplayAlerts = False
Quelle.Close False
Application.CutCopyMode = False
Else
MsgBox "Blatt nicht gefunden."
Quelle.Close False
End If
End Sub
Gruß Werner
Anzeige
AW: Werte und Formate einfügen
01.07.2020 14:16:58
Werner
Hallo Rudi,
der ursprüngliche Code ist von mir.
Und das Select Case hatte durchaus seinen Sinn, da der Blattname nämlich auch in verschiedenen "Sprachversionen" vorliegen kann (so sich die angegebenen Voraussetzungen nicht wieder geändert haben).
Die Kleinigkeit hat dir der Beitragsersteller leider vorenthalten.
Gruß Werner
AW: Werte und Formate einfügen
01.07.2020 17:37:02
börny
Du bist der Beste Werner!
Mit deinem Code habe ich zwar immer noch einen Fehler erhalten, habe ihn aber noch leicht abgeändert und nun funzt das Ding einwandfrei. Ein Hoch auf Werner und Danke aber auch an alle anderen.
Public Sub Daten_kopieren_Keil2()
Dim strPfad As Variant, Quelle As Workbook
Dim ws As Worksheet, boGefunden As Boolean
Application.ScreenUpdating = False
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
Else
MsgBox "Nichts ausgewählt!"
Exit Sub
End If
For Each ws In Quelle.Worksheets
Select Case ws.Name
Case "5.1 GuV_ÜbersichtK"
With ws
boGefunden = True
End With
Exit For
Case Else
End Select
Next ws
If boGefunden Then
ws.Cells.Copy
ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:= _
xlPasteValuesAndNumberFormats
'ThisWorkbook.Worksheets("Keil_GuV").Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.DisplayAlerts = False
Quelle.Close False
Application.CutCopyMode = False
Else
MsgBox "Blatt nicht gefunden."
Quelle.Close False
End If
ThisWorkbook.Worksheets("Cockpit").Activate
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige