Microsoft Excel

Herbers Excel/VBA-Archiv

VBA makro starten bei Eingbe in anderer Tabelle

Betrifft: VBA makro starten bei Eingbe in anderer Tabelle von: Marc
Geschrieben am: 19.03.2016 00:22:05

Hallo,

ich möchte in einem Arbeitsblatt (Tabelle6) folgendes Makro zum Ein-/ Ausblenden von Spalten (abhängig vom Zeileninhalt der Spalten)bei Eingabe eines Wertes in Zelle C5 von Tabelle1 starten.

------------

Sub ein_aus_blenden()
Cells.Rows.Hidden = False
       
    For sp = 20 To 96
        If Cells(14, sp).Value > 1 Then
            Columns(sp).Hidden = False
        Else
            Columns(sp).Hidden = True
        End If
    Next

End Sub

  

Betrifft: AW: VBA makro starten bei Eingbe in anderer Tabelle von: Hajo_Zi
Geschrieben am: 19.03.2016 09:03:29

was nun der Code prüft nicht C5 sondern T14 und weiter 76 Zellen?

Columns(sp).Hidden =Cells(14, sp).Value <= 1

Private Sub Worksheet_Change(ByVal Target As Range)

GrußformelHomepage


  

Betrifft: AW: VBA makro starten bei Eingbe in anderer Tabelle von: Werner
Geschrieben am: 19.03.2016 10:12:40

Hallo Marc,

Code gehört ins Code-Modul von Tabelle1

Private Sub Worksheet_Change(ByVal Target As Range)
If Sheets("Tabelle1").Range("C5") = "ausblenden" Then
    For loSpalte = 20 To 96
        If Sheets("Tabelle6").Cells(14, loSpalte).Value <= 1 Then
            Sheets("Tabelle6").Columns(loSpalte).Hidden = True
        End If
    Next loSpalte
ElseIf Sheets("Tabelle1").Range("C5") = "" Then
    Sheets("Tabelle6").Range("S1:CR1").EntireColumn.Hidden = False
End If
End Sub
Wenn du im Tabellenblatt1, Zelle C5 "ausblenden" einträgst dann werden in Tabellenblatt6 die Spalten in denen in der jeweiligen Zeile 14 der Wert gleich oder kleiner 1 ist ausgeblendet.
Wenn du im Tabellenblatt1, Zeile C5 das "ausblenden" wieder entfernst, dann werden im Tabellenblatt6 alle Spalten wieder eingeblendet.

Beachte aber: Eine leere Zelle ist auch kleiner 1, d.h. alle Spalten im Tabellenblatt6 bei denen die Zeile 14 leer ist, werden auch ausgeblendet.

Gruß Werner


  

Betrifft: AW: VBA makro starten bei Eingbe in anderer Tabelle von: Marc
Geschrieben am: 21.03.2016 08:46:21

Hallo Hajo, Hallo Werner,
danke für die Antwort, leider noch nicht ganz iO.

Bei Eingabe irgendeiner Zahl in Tabelle 1, Zelle C5 soll das Sub auf Tabelle 6 automatisch starten und die Zeile 14 der Spalten (20-96) prüfen und gegebenenfalls ausblenden. Mein Sub funktioniert schon, wenn ich es manuell starte...

Danach soll ein weiteres Sub auf Tabelle1 weiterlaufen (das funktioniert schon).

Wenn ich das Sub von oben ausführe kommt die Meldung: Laufzeitfehler... Die angegebene Dimnesion ist ungültig für den Diagrammtyp

VG Marc


  

Betrifft: AW: VBA makro starten bei Eingbe in anderer Tabelle von: Werner
Geschrieben am: 21.03.2016 10:49:15

Hallo Marc,

ich habe den Code jetzt auf die Eingaben von Zahlen in Tabelle1 C5 umgestellt.
Ehrlich gesagt verstehe ich das jetzt nicht so ganz. Du wolltest, dass nach Eingabe einer Zahl in Tabelle1 C5 die Tabelle6 Zeile 14 auf Werte kleiner oder gleich 1 prüfen und wenn das zutrifft die entsprechende Spalte in Tabellenblatt6 ausblenden.
Jetzt kommt plötzlich etwas von Diagramm??
Schau dir die Beispieldatei einmal an.

https://www.herber.de/bbs/user/104491.xlsm

Gruß Werner


 

Beiträge aus den Excel-Beispielen zum Thema "VBA makro starten bei Eingbe in anderer Tabelle"