Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Copy-Paste funktioniert nicht richtig

Forumthread: Copy-Paste funktioniert nicht richtig

Copy-Paste funktioniert nicht richtig
19.02.2015 10:41:21
Andreas
Hallo zusammen,
ich versuche mittels ...ActiveSheet.Paste aus einem externen Meßprogramm die Werte mehrerer Kanäle über die Zwischenablage ins Excel (2010) zu kopieren.
Klappt soweit auch wunderbar. Allerdings wandelt Excel alle Kommazahlen größer 1 in Integer um. D.h. aus einer Kommazahl mit bis zu 14 Nachkommastellen wird ein sehr großer Ganzzahlwert.
Wenn ich nun die selben Werte, die noch in der Zwischenablage liegen, per STRG+V an die selbe Stelle im selben Arbeitsblatt manuell kopiere sind die Werte dagegen richtig.
Der Befehl PasteSpecial funktioniert mit den Zusatzangaben (xlPasteValues) gar nicht. Da läuft das Exportscript auf Fehler. Ohne Zusatz läuft das Script durch, aber mit dem selben Ergebnis wie rein mit Paste.
Muß ich hier vorab noch etwas deklarieren?
Gruß
Andreas

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy-Paste funktioniert nicht richtig
19.02.2015 10:47:52
RPP63
Hallo Andreas!
Ich nehme mal an, dass sich ein Text in der Zwischenablage befindet.
VBA "spricht" englisch und interpretiert Komma und Punkt anders als die (deutsche) Excel-Version.
(Wahrscheinliche) Abhilfe:
Säubere den String von Punkten.
Gruß Ralf

AW: Copy-Paste funktioniert nicht richtig
19.02.2015 11:07:38
Andreas
Hallo Ralf,
die ursprünglichen Werte haben keine 1000er-Trennzeichen sondern tatsächlich nur einen Dezimalpunkt.
Hier generiert Excel ganz alleine die 1000er Punkte bei größer 1 und ignoriert den echten Dezimalpunkt.
Und warum funktioniert das aber mit STRG + V richtig? Hier interpretiert Excel keine 1000er Trenner rein. Alle Randbedingungen sind vor dem Einfügen per Paste oder STRG + V identisch. Jedoch das Ergebnis nicht.
D.h. wie kann ich die automatisierte Formatierung durch Excel unterbinden?
Mystery....
Gruß
Andreas

Anzeige
AW: Copy-Paste funktioniert nicht richtig
19.02.2015 11:23:38
RPP63
Hi!
Ich habe es gerade mal nachgestellt:
In der Zwischenablage befindet sich der String
12345678.29
Manuell in Excel bleibt der String erhalten.
Per ActiveSheet.Paste wird daraus die Zahl
12345678,29
(was ja auch logisch ist, denn VBA lokalisiert den Dezimaltrenner)
Vielleicht verstehe ich aber auch bloß Dein genaues Anliegen (noch) nicht.
Gruß Ralf

Anzeige
AW: Copy-Paste funktioniert nicht richtig
19.02.2015 11:36:58
Andreas
Hi,
ja, wenn das so wäre, wäre es super.
Ist das Originalformat 0.123456789 macht Excel daraus richtigerweise 0,123456789
Ist das Original aber 9.87654321 generiert Excel per Paste daraus 987.654.321
Per STRG + V wird aber 9,87654321 eingetragen. So wie es sein sollte.
Gruß
Andreas

Anzeige
AW: Copy-Paste funktioniert nicht richtig
19.02.2015 11:42:26
RPP63
Sorry, kann ich nicht nachvollziehen!
Bei mir wird eine Zahl mit korrektem Dezimaltrenner daraus.
Ich lasse den Thread mal offen.
Vllt. kann das mal jmd. anderes ausprobieren ...
Gruß Ralf

AW: Copy-Paste funktioniert nicht richtig
19.02.2015 11:50:06
Andreas
Hab grad was probiert, damit man es nachvollziehen kann.
Ich denke, es ist wichtig, von extern ins Excel zu kopieren. Intern wird das Excel schon mit sich selber iwi klar kommen...
Notepad öffnen und einfach das hier eintragen (geht natürlich auch mit anderen Zahlen :D ):
0.123456789
0.222222222
0.333333333
1.444444444
2.555555555
Dann Copy/Paste ins Excel.
Mein Excel macht dann das hier draus:
0.123456789
0.222222222
0.333333333
1.444.444.444
2.555.555.555
Gruß
Andreas

Anzeige
Paste Manuell vs. VBA
19.02.2015 12:52:31
EtoPHG
Hallo Andreas,
Ja das ist so (bei Region/Spracheinstellung Deutsch(Deutschland), weil
a) das manuelle Ctrl-V (Einfügen) reinen Text kopiert und damit das Endresultat in EXCEL so aussieht:
0.123456789 als Text!
0.222222222 als Text!
0.333333333 als Text!
1.444.444.444 als Zahl mit Tausender-Trennzeichen
2.555.555.555 als Zahl mit Tausender-Trennzeichen
b) das gleiche passiert übrigens, wenn du die Wert genau so einzeln in Zellen eintippst (also mit Punkt-Trennzeichen, d.h. aus
0.123456789 wird ein Text
1.444444444 wird eine Zahl mit Tausendertrennzeichen.
c) das VBA einfügen mit ActiveSheet.Paste auf der US-English Interpretation von Zahlenwerten basiert und damit das Endresultat in EXCEL dann richtigerweise so aussieht:
0,123456789 als Zahl
0,222222222 als Zahl
0,333333333 als Zahl
1,444444444 als Zahl
2,555555555 als Zahl
Die Frage drängt sich auf, ob deine Messwerte vom externen Programm nicht als z.B. CSV Datei abgelegt werden können und dann per Import in Excel eingefügt. Da du uns dein 'Script' nicht offenlegst, kann ich auch nicht mehr sagen, nur dass diese Thema ungefähr 1-3mal pro Monat in diesem Forum behandelt wird!
Gruess Hansueli

Anzeige
AW: Paste Manuell vs. VBA
20.02.2015 08:29:28
Andreas
Hallo Hansueli,
ah...ok. Jetzt weiß ich schonmal, woran es liegt.
Das mit der CSV-Datei muß ich mal testen.
Zum Script: Klar, kann ich das offen legen. Besteht Excelseitig aber lediglich aus den Zeilen für den Export. Und grundsätzlich funktioniert das ja. Der Rest ist in VBS mit einigen programmspezifischen Ausdrücken.
Gruß
Andreas

Anzeige
AW: Paste Manuell vs. VBA
20.02.2015 11:04:06
Andreas
Hallo,
gibt es dann eine Möglichkeit aus Excel heraus das Gebietsschema des PCs von DE auf EN (USA) umzustellen? Ich weiß, ist Quick&Dirty, aber.... :D
Gruß
Andreas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Copy-Paste-Probleme in Excel: Lösungen und Tipps


Schritt-für-Schritt-Anleitung

  1. Überprüfen der Regionaleinstellungen: Stelle sicher, dass die Regionaleinstellungen deines PCs auf die gewünschte Sprache (z.B. Deutsch oder Englisch) eingestellt sind. Dies hat Einfluss auf die Interpretation von Dezimal- und Tausendertrennzeichen in Excel.

  2. Kopieren der Daten: Kopiere die Daten aus der externen Quelle. Achte darauf, dass die Daten im richtigen Format und ohne unerwünschte Leerzeichen sind.

  3. Einfügen in Excel:

    • Verwende den Befehl ActiveSheet.Paste in VBA, um die Daten einzufügen.
    • Alternativ kannst Du auch die Funktion "Einfügen" im Excel-Menü verwenden.
  4. Verwendung von Paste Special: Wenn du spezielle Formate einfügen möchtest, benutze PasteSpecial mit den entsprechenden Parametern, z.B. xlPasteValues. Dies kann helfen, copy paste fehler zu vermeiden.

  5. Überprüfung der Ergebnisse: Kontrolliere die eingefügten Werte auf Richtigkeit. Achte insbesondere auf unerwartete Änderungen in der Formatierung.


Häufige Fehler und Lösungen

  • Copy-Paste funktioniert nicht richtig: Dies kann daran liegen, dass Excel die Daten nicht korrekt interpretiert. Stelle sicher, dass die Daten in der Zwischenablage im richtigen Format vorliegen.

  • Excel paste special funktioniert nicht: Wenn PasteSpecial nicht wie gewünscht funktioniert, könnte es an den Parametern liegen. Überprüfe, ob die richtigen Optionen ausgewählt sind.

  • Copy paste leerzeichen: Manchmal können zusätzliche Leerzeichen in den Daten zu Problemen führen. Verwende die Funktion TRIM, um diese zu entfernen, bevor du die Daten einfügst.


Alternative Methoden

  • CSV-Datei verwenden: Überlege, ob du die Daten in einer CSV-Datei speichern und diese dann in Excel importieren kannst. Dies kann oft die Probleme mit der Formatierung umgehen.

  • Textimport-Assistent: Wenn du Daten aus einer Textdatei importierst, kannst du den Textimport-Assistenten in Excel nutzen, um die Trennzeichen und Formate manuell festzulegen.

  • Excel VBA verwenden: Wenn du häufig Daten einfügen musst, kann ein VBA-Skript helfen, die Aufgaben zu automatisieren und so die Wahrscheinlichkeit von copy-paste-fehlern zu verringern.


Praktische Beispiele

  • Beispiel für ActiveSheet.Paste:

    Sub PasteData()
      Application.CutCopyMode = False
      ActiveSheet.Paste
    End Sub
  • Beispiel für PasteSpecial:

    Sub PasteSpecialData()
      ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
    End Sub

Diese Skripte können helfen, die kopierten Daten korrekt in Excel einzufügen.


Tipps für Profis

  • Überprüfe die Zwischenablage: Bevor du die Daten einfügst, überprüfe, ob die Zwischenablage die richtigen Informationen enthält.

  • Verwende Formatvorlagen: Um unerwünschte Formatierungen zu vermeiden, erstelle Formatvorlagen in Excel, die du auf die eingefügten Daten anwenden kannst.

  • Automatisierung durch VBA: Nutze Excel VBA, um häufige Copy-Paste-Vorgänge zu automatisieren, was die Effizienz steigert und Fehler minimiert.


FAQ: Häufige Fragen

1. Warum funktioniert copy paste in Excel manchmal nicht?
Manchmal liegt es an den regionalen Einstellungen oder der Art der Daten, die in die Zwischenablage kopiert wurden. Überprüfe die Formatierung der Daten.

2. Wie kann ich sicherstellen, dass die Daten korrekt formatiert werden?
Verwende PasteSpecial und wähle die entsprechenden Formate aus, um sicherzustellen, dass die Daten so eingefügt werden, wie du es möchtest.

3. Was kann ich tun, wenn Excel alle Kommazahlen in Ganzzahlen umwandelt?
Überprüfe die Eingabedaten und stelle sicher, dass sie keine unerwünschten Zeichen enthalten. Eventuell hilft es, die Daten vorher in ein Textformat zu konvertieren.

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