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

Forumthread: Kopieren bei ausgeblendeten Spalten

Kopieren bei ausgeblendeten Spalten
16.03.2008 17:07:00
Günter
Hallo Zusammen,
ich habe mal wieder ein Problem.
Wie kann ich eine Zeile kopieren, wenn in der Tabelle Spalten ausgeblendet sind.
Mit
With Rows(zz)
.Copy
.Insert Shift:=xlDown
end with
wird nur eine Leerzeile eingefügt.
Danke im voraus.
Günter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 17:34:00
Matthias
Hallo
probier mal, bei mir klappt es so.
Beispiel für Zeile2 (Spalte C war ausgeblendet.)
Trotzdem wurde der Wert aus C2 kopiert.

Rows("2:2").Copy
Sheets("Tabelle2").Rows("3:3").Insert Shift:=xlDown
Application.CutCopyMode = False

oder so (auch getestet)

Sub Makro2()
With Rows("2:2")
.Copy
.Insert Shift:=xlDown
End With
End Sub


Gruß Matthias

Anzeige
AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 17:47:00
Günter
Hallo Matthias,
Dein Vorschlag klappt nur wenn auch alle Zeilen sichtbar sind.
In meinem Fall sind auch noch Zeilen ausgeblendet.
Hast Du eine Idee?
Danke Günter

AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 18:15:00
Renee
Hallo Günter,
Das ist doch Quatsch.
Natürlich wird die Zeile kopiert. Sie erhält aber die gleichen Eigenschaften wie die Kopierte, d.h. sie ist eben auch nicht sichtbar. Wenn du die die kopierte sichtbar machen willst, so:

zz = Val(zx)
With Rows(zz)
.Copy
.Insert Shift:=xlDown
Rows(zz + 1).Hidden = False
End With


GreetZ Renée

Anzeige
AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 18:30:51
Günter
Hallo Reneé,
sorry, dann muss ich etwas falsch machen!
Folgende Situation:
- einige Spalten sind ausgeblendet
- Zeilen sind mit einem Filter ausgeblendet
- eine sichtbare Zeile soll dupliziert werden und ist markiert
Makro

Sub test()
zz = Selection.Row
With Rows(zz)
.Copy
.Insert Shift:=xlDown
Rows(zz + 1).Hidden = False
End With
End Sub


Fügt leere Zeile ein!
Was mache ich falsch?
Danke im voraus!
Günter

Anzeige
AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 18:36:00
Erich
Hallo Günter,
genau dieses Verhalten - Einfügen einer leeren Zeile - zeigt sich bei mir auch.
(@Renée: Das ist KEIN Quatsch.)
So werden alle Zellen kopiert (ist aber leider ein Schleifen-Umweg...):

Sub Dupl_gefilterte2()
Dim zz As Long, ss As Long
Application.ScreenUpdating = False
For zz = Selection.Row + Selection.Rows.Count - 1 To Selection.Row Step -1
With Rows(zz)
If Not .Hidden Then
.Insert Shift:=xlDown
For ss = 1 To Cells(zz + 1, Columns.Count).End(xlToLeft).Column
Cells(zz + 1, ss).Copy Cells(zz, ss)
Next ss
End If
End With
Next zz
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 18:48:00
Renee
Hi zusammen,
Sorry hab das mit Spalten überlesen.
GreetZ Renée

Das ist es! Danke!!!!!
16.03.2008 19:06:37
Günter
Hallo Erich,
das ist es!!!!!!!!!!!!
Danke
Günter

AW: Kopieren bei ausgeblendeten Spalten
16.03.2008 19:01:37
Daniel
Hi
also bei mir tritt der Fehler auch auf.
Vermutlich hat Excel ein Problem mit der Kombination aus ausgeblendeten Zeilen und Spalten.
ich könnte dir folgenden Workaround anbieten:

Sub test()
Dim zz As Long
Dim sp As Long, i As Long
zz = Selection.Row
With Rows(zz)
.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
sp = ActiveSheet.UsedRange.Column
For i = sp To sp - 1 + ActiveSheet.UsedRange.Columns.Count
Cells(zz, i).FormulaR1C1 = Cells(zz + 1, i).FormulaR1C1
Next
End With
End Sub


Gruß, Daniel

Anzeige
Klappt auch! Danke!
16.03.2008 19:09:00
Günter
Hallo Daniel,
auch Dir danke!
Gru0
Günter

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Kopieren bei ausgeblendeten Spalten


Schritt-für-Schritt-Anleitung

Wenn Du in Excel mit ausgeblendeten Spalten und Zeilen arbeitest und Zellen kopieren möchtest, kannst Du die folgenden Schritte befolgen:

  1. Zeile auswählen: Markiere die Zeile, die Du kopieren möchtest.

  2. Makro erstellen: Öffne den Visual Basic for Applications (VBA)-Editor in Excel (Alt + F11).

  3. Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".

  4. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub KopiereMitAusgeblendeten()
       Dim zz As Long, ss As Long
       Application.ScreenUpdating = False
       zz = Selection.Row
       With Rows(zz)
           If Not .Hidden Then
               .Copy
               .Insert Shift:=xlDown
               Rows(zz + 1).Hidden = False
           End If
       End With
       Application.ScreenUpdating = True
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Zeile zu kopieren.


Häufige Fehler und Lösungen

  • Leere Zeilen werden eingefügt: Wenn nach dem Ausführen des Makros leere Zeilen erscheinen, könnte es daran liegen, dass auch ausgeblendete Zeilen betroffen sind. Stelle sicher, dass Du nur sichtbare Zeilen kopierst.

  • Excel kopiert nicht alle Zellen: Wenn Excel nur einen Teil der Zellen kopiert oder die kopierten Werte nicht sichtbar sind, überprüfe, ob die Zellen, die Du kopieren möchtest, tatsächlich sichtbar sind.

  • Ausgeblendete Zellen nicht kopieren: Um sicherzustellen, dass keine ausgeblendeten Zellen mitkopiert werden, verwende den oben genannten VBA-Code, der für sichtbare Zeilen optimiert ist.


Alternative Methoden

Eine andere Möglichkeit, um mit ausgeblendeten Zeilen und Spalten umzugehen, besteht darin, die Filterfunktion zu nutzen. Hierbei kannst Du die Daten filtern, um nur die gewünschten Zeilen zu sehen und zu kopieren. Eine einfache Alternative ist auch, die Daten in eine neue Tabelle zu kopieren und dort zu bearbeiten.


Praktische Beispiele

Hier sind einige praktische Beispiele für das Kopieren von Zellen:

  1. Kopieren einer Zeile ohne ausgeblendete Spalten:

    Sub KopiereOhneAusgeblendete()
       Dim zz As Long
       zz = Selection.Row
       Rows(zz).Copy
       Sheets("ZielTabelle").Rows(zz + 1).Insert Shift:=xlDown
    End Sub
  2. Kopieren von sichtbaren Zellen:

    Sub KopiereNurSichtbare()
       Dim zelle As Range
       For Each zelle In Selection.SpecialCells(xlCellTypeVisible)
           zelle.Copy Destination:=zelle.Offset(1, 0)
       Next zelle
    End Sub

Tipps für Profis

  • Nutze Tastenkombinationen: Verwende Alt + F8, um Makros schnell auszuführen.
  • Behalte die Übersicht: Dokumentiere Deine Makros, um sie bei Bedarf leicht zu finden und anzupassen.
  • Teste in einer Kopie: Versuche, Deine Makros immer in einer Kopie des Dokuments zu testen, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich ausgeblendete Zeilen nicht mitkopieren?
Du kannst sicherstellen, dass nur sichtbare Zeilen kopiert werden, indem Du den SpecialCells(xlCellTypeVisible)-Befehl in Deinem VBA-Code verwendest.

2. Warum fügt Excel leere Zeilen ein?
Das Einfügen leerer Zeilen kann passieren, wenn das Makro auch auf ausgeblendete Zeilen zugreift. Überprüfe, ob alle von Dir kopierten Zeilen sichtbar sind.

3. Funktioniert dieser Ansatz in allen Excel-Versionen?
Die meisten VBA-Befehle sind in den neueren Excel-Versionen (z.B. Excel 2016 und 365) kompatibel. Wenn Du eine ältere Version verwendest, könnte es Unterschiede geben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige