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

Kopieren ohne Zwischenablage

Forumthread: Kopieren ohne Zwischenablage

Kopieren ohne Zwischenablage
14.07.2003 09:30:22
Harry
Hallo,
folgende Problemstellung: ich möchte einen Zellbereich von einer Arbeitsmappe in eine andere kopieren , incl. der Formate, allerdings ohne Benutzung der Zwischenablage! PasteRange.text = CopyRange.text funktioniert leider nicht...? Gibt es hierzu eine performante Lösung? Kopieren Zellbereich mit Formaten ohne Benutzung der Zwischenablage
Vielen Dank!


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren ohne Zwischenablage
15.07.2003 17:54:18
geri
Harry probier es so ohne Zwischenspeicher

Sub Kopieren()
With Range("A1:B2")
Range("F1:G2").Value = .Value
Range("F1:G2").NumberFormat = .NumberFormat
End With
End Sub

gruss geri

AW: Kopieren ohne Zwischenablage
14.07.2003 11:16:08
geri
Hallo Harry
kanst du nach Copy Vorgang Zwischenablage nicht wieder leeren ???
Application.CutCopyMode = False
gruss geri

Anzeige
Zwischenablage leeren?
14.07.2003 11:41:27
Harry
..dann würde ich ev. die Aktion des Users zunichte machen. Das würde ich gern verhindern.
Gibt es denn die Möglichkeit auf den letzten Eintrag in der Zwischenablage zurückzugreifen?
Vielen Dank auch an Dich!

AW: Kopieren ohne Zwischenablage
14.07.2003 09:40:53
Nike
Hi,
ich würde es mal so versuchen:

Sub test()
dim wks1 as worksheet
dim wks2 as worksheet
set wks1 = worksheets(1)
set wks2 = worksheets(2)
wks1.range("A1").copy wks2.range("A1")
'Beim Kopieren das Ziel gleich mit angeben
End Sub

Bye
Nike

Anzeige
Methode verwendet die Zwischenablage!
14.07.2003 10:25:48
Harry
Hallo Nike,
leider verwendet Deine Methode die Zwischenablage, aber genau das sollte ausgeschlossen werden. Hast Du noch eine weitere Idee?
Vielen Dank schon mal für di9e Hilfe.

AW: klar...
14.07.2003 10:37:41
Nike
Hi,
is schon klar, das die Ablage verwendet wird,
wie sonst soll Copy paste funken???
Ansonsten musst du alle Einstellungen in Variablen ein
und dann wieder auslesen, ein Aufwand,
den die Zwischenablage wohl um einiges einfacher erledigt ;-)
Was spricht denn gegen die ZA?
Bye
Nike

Anzeige
Programm läuft im Hintergrund des Clients
14.07.2003 10:47:55
Harry
Hallo Nike,
die Zwischenablage soll nicht verwendet werden, da das Programm im Hintergrund läuft und der User parallel am Client arbeiten möchte. Werden jetzt Daten in die Zwischenablage kopiert, ergeben sich Probleme beim User.
Dein Vorschlag mit dem Einlesen in Variablen sollte wohl der einzig mögliche Lösungsweg sein, mein Problem ist dabei die Performanz!
Vielen Dank trotzdem für die Hilfe!

Anzeige
;
Anzeige

Infobox / Tutorial

Kopieren ohne Zwischenablage in Excel


Schritt-für-Schritt-Anleitung

Um einen Zellbereich in Excel zu kopieren, ohne die Zwischenablage zu verwenden, kannst du eine einfache VBA-Makro-Lösung nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Gehe zu "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub Kopieren()
       With Range("A1:B2")
           Range("F1:G2").Value = .Value
           Range("F1:G2").NumberFormat = .NumberFormat
       End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus über ALT + F8, wähle "Kopieren" und klicke auf "Ausführen".

Dieses Skript kopiert die Werte und das Format des Zellbereichs A1:B2 in den Bereich F1:G2, ohne die Zwischenablage zu verwenden.


Häufige Fehler und Lösungen

  • Problem: "Es gibt ein Problem mit der Zwischenablage."

    • Lösung: Stelle sicher, dass kein anderer Prozess die Zwischenablage verwendet. Verwende die oben beschriebene Methode, um das Problem zu umgehen.
  • Problem: Die formatierte Kopie funktioniert nicht.

    • Lösung: Vergewissere dich, dass du .NumberFormat im Code verwendest, um das Format zu übernehmen.

Alternative Methoden

Wenn die einfache Kopiermethode nicht ausreicht, kannst du auch die Inhalte in Variablen einlesen und dann zurückschreiben:

Sub KopierenMitVariablen()
    Dim myValue As Variant
    Dim myFormat As String

    myValue = Range("A1:B2").Value
    myFormat = Range("A1:B2").NumberFormat

    Range("F1:G2").Value = myValue
    Range("F1:G2").NumberFormat = myFormat
End Sub

Diese Methode kann jedoch weniger performant sein, wenn du große Datenmengen bearbeitest.


Praktische Beispiele

  1. Kopieren von Daten aus einer Tabelle in ein anderes Arbeitsblatt:

    Sub KopierenVonTabelle()
       Dim wks1 As Worksheet
       Dim wks2 As Worksheet
       Set wks1 = Worksheets("Tabelle1")
       Set wks2 = Worksheets("Tabelle2")
    
       wks2.Range("A1").Resize(wks1.Range("A1:B2").Rows.Count, wks1.Range("A1:B2").Columns.Count).Value = wks1.Range("A1:B2").Value
    End Sub
  2. Kopieren und Formatieren von Zellen:

    Sub KopierenUndFormatieren()
       With Worksheets("Tabelle1").Range("A1:B2")
           Worksheets("Tabelle2").Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value
           Worksheets("Tabelle2").Range("A1").Resize(.Rows.Count, .Columns.Count).NumberFormat = .NumberFormat
       End With
    End Sub

Tipps für Profis

  • Verwende Shortcut-Tasten: Wenn du oft mit VBA arbeitest, kannst du dir eigene Shortcuts für deine Makros erstellen, um Zeit zu sparen.
  • Debugging: Nutze die Debugging-Tools im VBA-Editor, um Fehler schnell zu identifizieren und zu beheben.
  • Leistungsoptimierung: Wenn du große Datenmengen bearbeitest, achte darauf, die Bildschirmaktualisierung während des Kopiervorgangs auszuschalten:

    Application.ScreenUpdating = False
    ' Dein Kopiercode hier
    Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Kann ich kopierte Daten zurück in die Zwischenablage legen? Ja, das ist möglich, aber dies widerspricht dem Ziel, die Zwischenablage zu umgehen.

2. Was kann ich tun, wenn mein Makro nicht funktioniert? Überprüfe, ob alle Referenzen korrekt sind und ob der Code im richtigen Modul eingefügt wurde. Stelle auch sicher, dass keine anderen Prozesse die Zwischenablage blockieren.

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