Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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

Nochmal Daten in geschlossene Datei

Nochmal Daten in geschlossene Datei
Thor
Hallo allerseits,
hoffe Ihr habt alle die letzten Faschingstage gut überstanden und seid soweit alle fit.
Mit Hilfe von Rudi Maintaire habe ich das Problem mit der Übertragung in eine geschlossene Datei ja lösen können. Jetzt habe ich aber das Problem, dass ich es irgendwie nicht gebacken bekomme, dass er mir NUR die Werte der Zellen ausliest, NICHT die Formatierungen.
Der zugehörige Code lautet:
Sub Schaltfläche1_BeiKlick()
Dim intZeile As Long
Range("A1:D1").Copy
Workbooks.Open ("N:\Mappe1.xls")
With ActiveWorkbook.Sheets("Tabelle2")
intZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(intZeile, 1).Select
ActiveSheet.Paste
End With
Application.CutCopyMode = False
ActiveWorkbook.Close True
Sheets("Tabelle1").Select
End Sub

Ein "CopyValues", bzw. "PasteValues" kommentiert Excel mir mit einer Fehlermeldung.
Vielleicht hat noch jemand eine Idee?
lg
Nils

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Nochmal Daten in geschlossene Datei
17.02.2010 18:13:33
Hajo_Zi
Halo Nils,
die Daten werden nicht in eine geschlosene Datei geschrieben, das geht nicht. Die Datei wird dazu geöffnet. Hier mal ein Ansatz
Sub Werte_Format()
'   Formeln ersetzen durch Werte mit Formate
'    Workbooks("Datei1.xls").Worksheets("Tabelle1").Range(Sheets("Tabelle1").UsedRange.Address). _
Copy
' Vorschlag Verbesserrung NoNet
Workbooks("Datei1.xls").Worksheets("Tabelle1").UsedRange.Copy
With Workbooks("Datei2.xls").Worksheets("Tabelle1").Range("A1")
.PasteSpecial Paste:=xlValues       ' Werte
.PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False
End Sub

Anzeige
AW: Nochmal Daten in geschlossene Datei
17.02.2010 18:22:13
Thor
Hallo Hajo,
ja, die Datei wird dazu kurz geöffnet und nach eintrag der Daten wieder geschlossen, was dieser Teil des Codes übernimmt:
Workbooks.Open ("N:\Mappe1.xls")
With ActiveWorkbook.Sheets("Tabelle2")
intZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(intZeile, 1).Select
ActiveSheet.Paste
End With
Application.CutCopyMode = False
ActiveWorkbook.Close True
Das funktioniert auch soweit, aber beim Kopiervorgang werden nicht nur die Werte, sondern auch alle Formatierungen mit kopiert.
Ich werde mal versuchen, mit
.PasteSpecial Paste:=xlValues
.PasteSpecial Paste:=xlFormats      
aus Deinem Beispiel was zu erreichen.
Danke schonmal
Nils
Anzeige
AW: Nochmal Daten in geschlossene Datei
17.02.2010 18:28:54
Hajo_Zi
Hallo Nils,
schreibe für select .PasteSpecial Paste:=xlValues und lösche die nächste Zeile. Formnat möchtest Du ja nicht übertragen.
Gruß Hajo
AW: Nochmal Daten in geschlossene Datei
19.02.2010 16:33:33
Thor
Danke Hajo,
hat funktioniert
AW: Nochmal Daten in geschlossene Datei
19.02.2010 17:39:03
Thor
Nochmal Hallo,
auch auf die Gefahr hin, dass es nervt ;)
Mit Hajos und Rudis Hilfe, hab ich mir den Code so hingebogen, dass ich jeweils 6 Zellen in 4 Zeilen in ein anderes Datenblatt übertrage. Soweit so gut.
Nun hab ich das Problem, dass IMMER alle 4 Zeilen KOMPLETT übertragen werden, auch wenn in Zeile 2-4 NICHTS steht. Wäre ja auch nicht weiter schlimm, aber die "leeren" Zellen werden im Zielblatt NICHT als leere Zelle erkannt. Somit wandert die nächste Eintragung nicht in die NÄCHSTE Zeile, wie vorgesehen, sondern ich habe zwischen den Eintragungen immer die entsprechene Anzahl an Leerzeilen.
In den Feldern stehen Formeln, die NICHT mitübertragen werden sollen, sondern nur die entsprechenden Werte, bzw. wenn im ursprünglichen Feld keine Eintragung vorhanden war, soll einfach auch nichts übertragen werden.
Hat jemand noch eine Idee?
Hier nochmal der "Übertragungscode":
Dim intZeile As Long
Sheets("Übertrag").Select
Range("B1:g1,B2:G2,B3:G3,B4:G4").Copy
Workbooks.Open ("N:\1\Mappe2.xls")
With ActiveWorkbook.Sheets("Tabelle1")
intZeile = .Cells(Rows.Count, 2).End(xlUp).Row + 1
Cells(intZeile, 2).PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
ActiveWorkbook.Close True
Sheets("Pass").Select
In B1:G1, B2:G2, B3:G3, B4:G4 werden jeweils Daten aus anderen Arbeitsblättern gesammelt, die dann mittels o.g. VBA und Button auf die geschlossene Datei "Mappe2" übertragen werden.
Als Beispiel mal eines der Makros aus B2:G2
=WENN(Pass!C19>0;Pass!C19;)
Wenn ich einfach nur mit "=Pass!C19" gearbeitet habe, hat er mir immer die Nullwerte mit übertragen. Ich hatte gehofft, mit der komplizierteren Version mir das zu ersparen.
Ich hoffe ich habe mich nicht allzu kompliziert ausgedrückt. :)
lg
Nils
Anzeige
AW: Nochmal Daten in geschlossene Datei
19.02.2010 17:40:09
Thor
Tschuldigung, vergessen die Frage als "noch offen" zu markieren.
Lösung gefunden owT
19.02.2010 21:09:58
Thor
1

52 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige