online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon instant vom 05.01.2021, 21:05 Options

Spalten bei mehreren Blättern ausblenden wenn Wert = 0

Hallo,

ich habe folgendes Problem: möchte auf mehreren Tabellenblättern wenn in der Zeile 1 von A:AI der Wert 0 steht die enstprechende Spalte ausblenden.

Habe folgendes Makro erstellt...funktioniert aber leider nicht...was ist falsch???

Sub Test2()
Dim colIndex As Long
Dim rngRange As Range

Sheets(Array("tabelle1", "tabelle2", "tabelle3")).Select
For Each rngRange In Sheets(Array("tabelle1", "tabelle2", "tabelle3")).Range("A1:AI1")
If rngRange.Value = "0" Then
rngRange.EntireColumn.Hidden = True
Else
rngRange.EntireColumn.Hidden = False
End If

Next


End Sub

Idealerweise sollte dieses Makro bei Veränderung einer Zelle ausgeführt werden...

Vielen Dank vorab und Gruß, Ines


Antwort schreiben

Antwort 1 von Hajo_Zi vom 05.01.2021, 22:10 Options

Hallo Ines,

Option Explicit

Sub Test2()
Dim rngRange As Worksheet
Dim LoI As Integer
Application.ScreenUpdating = False
For Each rngRange In Sheets(Array("tabelle1", "tabelle2", "tabelle3"))
For LoI = 1 To 35
rngRange.Columns(LoI).EntireColumn.Hidden = rngRange.Cells(1, LoI).Value = 0
Next LoI
Next rngRange
Application.ScreenUpdating = False
End Sub

Gruß Hajo

Antwort 2 von Hajo_Zi vom 05.01.2021, 22:19 Options

Hallo Ines,

den Abspann habe ich jetzt nicht gelesen.
Mein Makro blendet auch alle Spalten ein die verschieden von 0 sind.
Wenn Du es testet wird Dir auffallen das es lange braucht.
Ich würde es mit zwei Mkaro machen. Das vorgeschlagene für deine jetzige Datei und für den laufenden Betrieb unter diese Abeitsmappe
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Tabelle1" Or Sh.Name = "Tabelle2" Or Sh.Name = "Tabelle3" Then
If Target.Row = 1 And Target.Column < 36 Then
Columns(Target.Column).EntireColumn.Hidden = Target.Value = 0
End If
End If
End Sub

Das Makro reagiert nicht auf Formeln.

Gruß Hajo

Antwort 3 von Instant vom 07.01.2021, 09:28 Options

Super, danke! Das 1. Makro klappt...bei dem 2. ist mir nicht ganz klar wo in dem Marko steht dass es auf eine Verändeurng in einer bestimmten Zelle reagieren soll?

Danke schon mal vorab!!

Antwort 4 von Hajo_Zi vom 07.01.2021, 09:30 Options

Hallo Ines,

starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, gehe auf Deine Datei, Doppelklick auf DieseArbeitsmappe , Code ins rechte Fenster kopieren, VBA Editor schließen. Das Makro wird automatisch ausgeführt.

Gruß Hjao

Ähnliche Themen

leere Spalten automatisch ausblenden
bender70  21.03.2009 - 316 Hits - 4 Antworten

Excel Spalten ausblenden
Mese  18.11.2007 - 420 Hits - 4 Antworten

Spalten ausblenden
gplus  25.02.2008 - 201 Hits - 3 Antworten

Spalten- und Zeilenübersichten teilweise ausblenden
kvtv  28.04.2008 - 37 Hits - 16 Antworten

Spalten ausblenden
jockel01  11.09.2008 - 67 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026