Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bereich in Zwischenablage kopieren

Bereich in Zwischenablage kopieren
25.08.2017 09:28:02
Sebastian
Hi zusammen, ich hätte da noch ein Anliegen :)
Ich bräuchte ein Makro was mit einen bestimmten festgelegten Bereich in die Zwischenablage kopiert. Spallte K(17-1500) ABER wirklich nur den mit Text gefüllten Bereich. Ich hatte es schon hinbekommen aber dann kopiert er 1488 Leerstellen mit ...
Gibt es da eine Lösung ?
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 09:31:42
UweD
Hallo
was willst du danach mit den "Einzelzellen" machen?
Je nach Anforderung kannst du die "Zellen mit Text" per Schleife abarbeiten.
LG uweD
AW: Bereich in Zwischenablage kopieren
25.08.2017 09:34:13
Sebastian
Also, die Zeilen sind schon untereinander. Aber es kommen je nach Menge bis zu 1499 Leerzeilen. Ich möchte die untereinanderleiegenden Zeilen kopieren und in einem anderen programm wieder einfügen.
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 09:57:19
UweD
Hallo
meinst du das so?
Sub Makro2()
    Dim Tb1 As Worksheet
    Dim Tb2 As Worksheet
    Dim LR As Integer
        
    Set Tb1 = Sheets("Tabelle1")
    Set Tb2 = Sheets("Tabelle2")
    Tb2.Columns("A").Clear 'reset 
    
    LR = Tb1.Cells(Tb1.Rows.Count, "K").End(xlUp).Row 'letzte Zeile der Spalte K 
    
    Tb1.Range("K17:K" & LR).Copy Tb2.Range("A1")
    
End Sub

LG UweD
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 10:09:28
Sebastian
Also ich verstehe nicht viel von dem VBA :( Aber die Spallte ist auf Tabellenblatt 2 und es soll nur der Gefüllte bereich ab K17 in die Zwischenablage Kopiert werde, nicht auf ein anderes Blatt
AW: Bereich in Zwischenablage kopieren
25.08.2017 10:24:03
UweD
Wie sehen die Daten denn nun aus?
Mit Lücken, oder ohne?

Tabelle1
 KL
13Wie sehen deine Datei denn aus? 
14so?oder so?
15 wew
16 333
17wqwqweee
18 ewe
19wqwe4444
20wqwqw4443
21 wwe
22  
23  
24  
25  
26ssd 
27wew 
28  
29d 
30d 
31  
32d 
33  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 21.10 einschl. 64 Bit


Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 10:28:14
UweD
dann so.

Sub Makro1()
Dim RNG As Range
Set RNG = Range("K17:K1500")
If WorksheetFunction.CountA(RNG) > 0 Then
RNG.SpecialCells(xlCellTypeConstants, 3).Copy
End If
End Sub

AW: Bereich in Zwischenablage kopieren
25.08.2017 10:53:17
Sebastian
Userbild
So sehen die Daten aus. Das gelbe unter halb sind die freien Felder die nict kopiert werden sollen wenn sie leer sind. Dein Code geht leider nicht. Er sagt er hätte keine Zellen gefunden. Die Felder enthalten eine Formel die "" als leer benutzt !
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:02:33
UweD
In deinem Ersten Beitrag schreibst du es sei TEXT, jetzt sind es FORMELN.
das ist dann klar, dass nichts gefunden wird
ich habe nach xlCellTypeConstants (Konstanten= Text und Zahlen) gesucht
Bei "" (durch Formel) ist eine Zelle NICHT leer.
Ich gebe weiter an alle
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:28:36
Werner
Hallo Sebastian,
wenn Formeln, die leer ausgeben, dann kann man die letzte belegte Zeile so ermitteln:
Public Sub Kopieren()
Dim raLetzte As Range
With Worksheets("Tabelle2")
Set raLetzte = .Columns(11).Find(What:="*", LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
MatchCase:=False, SearchFormat:=False)
If Not raLetzte Is Nothing Then
If raLetzte.Row 
Gruß Werner
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:40:38
Sebastian
Hi :) Also die Zeile ist jetzt nach N gerutscht aber, davon mal abgesehen kopiert er immer noch alles :(
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:46:08
Werner
Hallo Sebastian,
meinst du nicht, dass es so langsam mal Zeit wird für eine Beispieldatei (in der es nicht funktioniert), oder sollen wir hier weiter im Nebel stochern?
Bei mir aber eine ohne Makros, die kann ich im Moment nicht runter laden.
Gruß Werner
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:48:56
Sebastian
Userbild
Userbild
Hi das Problem ist das das eine Riesen datei voll mit sensiblen Daten ist, sonst hätte ich das schon hochgeladen. Sorry das es so sehr komplizert ist :(
Anzeige
AW: Bereich in Zwischenablage kopieren
25.08.2017 11:56:26
Werner
Hallo Sebastian,
was hindert dich daran die sensiblen Daten zu löschen? Im Prinzip braucht es nur die Tabelle mit der Spalte N und den Formeln da drin. Sowie ein paar Daten, dass die Formeln in der Spalte N auch ein paar Ergebnisse liefern.
Ohne Datei bin ich raus.
Gruß Werner
AW: Bereich in Zwischenablage kopieren
25.08.2017 12:40:37
Sebastian
OK sorry, dann geht es leider nicht. Die Liste basiert auf einer anderen Liste die die Quell-Daten liefert. Das jetzt so aumzubauen das keine sensilbelen Daten rausgehen. Ist ein riesen Aufwand. Dann muss ich irgdnwie weiter probieren. Danke trotzdem
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bereich in die Zwischenablage kopieren mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die Daten hast.
  2. Öffne den VBA-Editor:
    • Drücke ALT + F11.
  3. Erstelle ein neues Modul:
    • Klicke im Menü auf Einfügen und wähle Modul.
  4. Füge den folgenden Code ein:

    Sub Makro1()
       Dim RNG As Range
       Dim LR As Long
       Set RNG = Range("K17:K1500")
    
       ' Ermittle die letzte gefüllte Zeile in Spalte K
       LR = Cells(Rows.Count, "K").End(xlUp).Row
    
       ' Kopiere nur die Zellen mit Text oder Zahlen
       If WorksheetFunction.CountA(RNG) > 0 Then
           RNG.SpecialCells(xlCellTypeConstants).Copy
       End If
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.
  6. Führe das Makro aus:
    • Drücke ALT + F8, wähle Makro1 und klicke auf Ausführen.

Mit diesem Makro wird der Bereich in die Zwischenablage kopiert, wobei nur die gefüllten Zellen berücksichtigt werden.


Häufige Fehler und Lösungen

  • Problem: „Keine Zellen gefunden“ oder „Der Bereich ist leer“.

    • Lösung: Stelle sicher, dass der Bereich K17:K1500 tatsächlich Daten enthält und dass diese nicht nur durch Formeln ausgegeben werden, die "" zurückgeben. Verwende stattdessen xlCellTypeFormulas für Formeln.
  • Problem: Es werden auch leere Zellen in die Zwischenablage kopiert.

    • Lösung: Stelle sicher, dass die Zellen nur Konstanten enthalten, indem du SpecialCells(xlCellTypeConstants) verwendest.

Alternative Methoden

Eine alternative Methode ist die Verwendung von Application.CutCopyMode = False, um die Zwischenablage nach dem Kopieren zu leeren. Dies kann nützlich sein, wenn du sicherstellen möchtest, dass die Zwischenablage nicht überladen wird.

Sub Makro2()
    Dim rng As Range
    Set rng = Range("K17:K1500")

    rng.SpecialCells(xlCellTypeConstants).Copy
    Application.CutCopyMode = False
End Sub

Praktische Beispiele

Wenn du beispielsweise nur die Werte in die Zwischenablage kopieren möchtest, kannst du den folgenden Code verwenden:

Sub KopiereWerte()
    Dim rng As Range
    Set rng = Range("K17:K1500")

    ' Kopiere nur die Werte
    rng.Copy
    ' Füge hier den Befehl ein für das Einfügen in ein anderes Programm
End Sub

Diese Vorgehensweise ist besonders nützlich, wenn du die Daten in andere Anwendungen einfügen möchtest.


Tipps für Profis

  • Nutze vba in zwischenablage kopieren für spezifische Anforderungen, indem du den Code anpasst.
  • Experimentiere mit xlCellTypeFormulas, wenn deine Zellen Formeln enthalten, die leer erscheinen.
  • Achte darauf, dass du immer den letzten Stand deiner Daten speicherst, bevor du VBA-Skripte ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur die sichtbaren Zellen kopiert werden?
Du kannst SpecialCells(xlCellTypeVisible) verwenden, um nur die sichtbaren Zellen zu kopieren.

2. Was ist der Unterschied zwischen Copy und Cut in VBA?
Copy kopiert den Inhalt in die Zwischenablage, während Cut den Inhalt entfernt und in die Zwischenablage verschiebt.

3. Wie kann ich die Zwischenablage nach dem Kopieren leeren?
Verwende Application.CutCopyMode = False, um die Auswahl aufzuheben und die Zwischenablage zu leeren.

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