Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: prüfen ob Spalten eingeblendet oder nicht

prüfen ob Spalten eingeblendet oder nicht
15.12.2016 14:21:38
Sandja
Hallo Zusammen
Ich habe im Tabellenblatt1 verschiedene Angaben. Die Spalten sind von A bis BC gefüllt und werden alle ausgeblendet. Bei einem Klick auf dem Tabellenblatt2 wird je nach dem Spalten A bis F im Tabellenblatt 1 wieder eingeblendet.
Jetzt müsste ich auf dem Tabellenblatt 3 ein Button haben, welches per Makro prüft ob die Spalten A-F eingeblendet sind oder nicht. Wenn ja, soll er mir diese Zeilen und Spalten kopieren.
Wie gebe ich ein, dass er prüfen soll, ob die Spalten eingeblendet sind und dann das Kopiermakro ausführt.
Danke im Voraus
Sandja
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: prüfen ob Spalten eingeblendet oder nicht
15.12.2016 15:11:49
Werner
Hallo Sandja,
stellt sich die Frage, ob die Spalten A-F immer entweder alle eingeblendet oder alle ausgeblendet sind?
Wenn immer alle entweder eingeblendet oder alle ausgeblendet sind, dann reicht die Überprüfung einer Spalte nach folgendem Muster:
Public Sub Spalte_prüfen()
If Sheets("Tabelle1").Columns(1).ColumnWidth 
Gruß Werner
Anzeige
AW: prüfen ob Spalten eingeblendet oder nicht
15.12.2016 15:22:33
Sandja
Hallo Werner
Erst mal Danke das du mir hilfst.
Es sind immer die Spalten A-F miteinander ausgeblendet.
Was muss ich machen, dass wenn die Spalten ausgeblendet sind nichts passiert und sonst folgendes Makro ausgeführt wird?
Private Sub CommandButton21_Click()
Dim rng As Range
With Worksheets("Tabelle1")
LetzteZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 3
.Range("A1:C" & LetzteZeile).CopyPicture
End With
With Worksheets("Tabelle2")
Set rng = .Cells(1, 1)
For Each Pic In .DrawingObjects
If TypeName(Pic) = "Picture" Then
If MaxTop  MaxTop Then
Set rng = rng.Offset(n, 0)
Exit For
End If
Next
If Not rng Is Nothing Then
.Paste Destination:=rng
End If
End With
End Sub
Danke im Voraus
Gruss Sandja
Anzeige
AW: prüfen ob Spalten eingeblendet oder nicht
15.12.2016 15:37:55
Werner
Hallo Sandja,
teste mal:
Private Sub CommandButton21_Click()
Dim rng As Range
If Worksheets("Tabelle1").Columns(1).ColumnWidth  MaxTop Then
Set rng = rng.Offset(n, 0)
Exit For
End If
Next
If Not rng Is Nothing Then
.Paste Destination:=rng
End If
End With
End Sub
Gruß Werner
Anzeige
AW: prüfen ob Spalten eingeblendet oder nicht
15.12.2016 16:37:45
Sandja
Hoi Werner
Besten Dank es funktioniert prima.
Schönen Abend
Gruss sandja
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
15.12.2016 17:42:49
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalten ein- und ausblenden in Excel prüfen und kopieren


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob die Spalten A bis F in Excel eingeblendet sind und diese anschließend zu kopieren, kannst du ein Makro verwenden. Folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton21_Click()
        Dim rng As Range
        Dim LetzteZeile As Long
    
        ' Überprüfen, ob die erste Spalte (A) eingeblendet ist
        If Worksheets("Tabelle1").Columns(1).ColumnWidth > 0 Then
            ' Letzte Zeile in der Tabelle 1 ermitteln
            With Worksheets("Tabelle1")
                LetzteZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 3
                ' Bereich kopieren
                .Range("A1:C" & LetzteZeile).CopyPicture
            End With
    
            ' Bild in Tabelle 2 einfügen
            With Worksheets("Tabelle2")
                Set rng = .Cells(1, 1)
                For Each Pic In .DrawingObjects
                    If TypeName(Pic) = "Picture" Then
                        If rng.Top < Pic.Top Then
                            Set rng = rng.Offset(1, 0)
                            Exit For
                        End If
                    End If
                Next
                If Not rng Is Nothing Then
                    .Paste Destination:=rng
                End If
            End With
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu deinem Excel-Dokument zurück.

  5. Füge einen Button hinzu: Gehe zu Entwicklertools > Einfügen und wähle einen Button (Formsteuerung).

  6. Verknüpfe das Makro mit dem Button, indem du auf den Button klickst und das Makro auswählst.

Jetzt kannst du auf den Button klicken, um zu prüfen, ob die Spalten A bis F eingeblendet sind und falls ja, die entsprechenden Daten zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Ursache: Möglicherweise ist das Zielblatt nicht aktiv oder existiert nicht.
    Lösung: Überprüfe, ob die Namen der Blätter korrekt sind.

  • Fehler: Keine Daten kopiert
    Ursache: Die Spalten sind möglicherweise ausgeblendet.
    Lösung: Stelle sicher, dass die Spalten A bis F eingeblendet sind, bevor du das Makro ausführst.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du die Funktion Bedingte Formatierung nutzen, um visuell anzuzeigen, ob die Spalten eingeblendet sind. Zum Beispiel kannst du eine Formel in einer Hilfsspalte verwenden, um die Breite der Spalten zu überprüfen.


Praktische Beispiele

Ein Beispiel für die Nutzung des oben genannten Makros könnte folgendermaßen aussehen:

  1. Du hast eine Liste von Verkaufszahlen in den Spalten A bis C in Tabelle1.
  2. Die Spalten sind standardmäßig ausgeblendet, bis du sie für eine Analyse benötigst.
  3. Mit dem Button in Tabelle3 kannst du die Daten bei Bedarf schnell in Tabelle2 kopieren.

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen in deinem VBA-Code, um sicherzustellen, dass dein Makro auch bei unerwarteten Fehlern robust bleibt.
  • Experimentiere mit verschiedenen Copy-Methoden (z.B. Copy vs. CopyPicture), um die für deine Anwendung geeignetste Methode zu finden.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehr Spalten zu kopieren?
Du kannst die Zeile .Range("A1:C" & LetzteZeile).CopyPicture anpassen, indem du die Spaltenbezeichnungen veränderst, z.B. .Range("A1:F" & LetzteZeile).CopyPicture.

2. Funktioniert dieses Makro in allen Excel-Versionen?
Das gezeigte Makro sollte in den meisten aktuellen Excel-Versionen, einschließlich Excel 2016 und Excel 365, funktionieren. Stelle sicher, dass die Entwicklertools aktiviert sind.

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