online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon woher vom 30.09.2022, 19:50 Options

Einen Ausdruck im Makro durch Wert aus Zellbezug ersetzen

Hallo,
im fetten unterstrichenen Teil des Makro kann nur "True" oder "False".
Diesen Wert soll das Makro hier aber aus einer Zelle auslesen. Die Zelladresse ist "IntRow, 2), Aktuelle Zeile, Spalte B.
Wie muss der Code korrigiert werden?

Sub Tabellen_aus_ein_blenden()
Dim intRow           As Integer
Dim intSheets           As Integer
For intRow = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
 For intSheets = 2 To Sheets.Count
If Sheets(intSheets).Name = ActiveSheet.Cells(intRow, 1) Then
Sheets(intSheets).Visible =[b][u] False  'ActiveSheet.Cells(intRow, 2)[/u][/b]
        End If
       Next intSheets
     Next intRow
End Sub


mfg
Schönen Abend
Wolfgang


Antwort schreiben

Antwort 1 von woher vom 30.09.2022, 19:53 Options

Hallo,
fett und unterstrichen? war wohl nix.
False 'ActiveSheet.Cells(intRow, 2) dies ist gemeint.
mfg
Wolfgang

Antwort 2 von Hajo_Zi vom 30.09.2022, 19:54 Options

Hallo Wolfgang,

versuchs so
Sheets(intSheets).Visible =cells(IntRow, 2)

Gruß Hajo

Antwort 3 von woher vom 30.09.2022, 20:12 Options

Hallo Hajo,
das hatte ich schon, ich habs auskommentiert, weil es Laufzeitfehler 1004 Anwendungs- oder Objektdefinierter Fehler hervorruft.
mfg
Wolfgang

Antwort 4 von Hajo_Zi vom 30.09.2022, 20:43 Options

Hallo Wolfgang,

was steht in der Zelle (Wahr/falsch)

Gru0 Hajo

Antwort 5 von woher vom 30.09.2022, 20:56 Options

Hallo,
bis eben standen da Formeln drin die:
True / False
erzeugten, die habe ich eben durch die Werte ersetzt, das hat aber keine Wirkung
mfg
Wolfgang

Falls es irgend wie hilft, dies ist das Makro, das die Liste der Tabellennamen erzeugt:

Option Explicit
Sub Tabellennamen()
For i = 1 To Sheets.Count
Range("A" & i).Value = Worksheets(i).Name
Next i
End Sub

Antwort 6 von woher vom 30.09.2022, 21:08 Options

Hallo,
wenn ich ein Makro per Checkbox auslöse, kann dieses Makro dann zunächst die Nummer der Checkbox auslesen? Dann ändere ich das obige Makro noch mal völlig.
Dann: intRow = Checkboxnummer,
Das Makro würde dann immer nur mit der Zeile = Ceckboxnummer ausführen.
Dies hier funktioniert nämlich:
Sheets(intSheets).Visible = ActiveSheet.CheckBox1.Value

mfg
Wolfgang

Antwort 7 von woher vom 01.10.2022, 10:35 Options

Hallo Hajo und alle die es interessiert,
das Makro funktioniert jetzt!
Hier eine kurze Erläuterung:
Das obige Makro "Tabellennamen" listet in Spalte A, die Namen der in der Datei enthaltenen Tabellenblätter auf.
Per Kontrollkästchen werden in Spalte C, die Einträge "WAHR" / "FALSCH" erzeugt, in Spalte B werden diese mit 1 multipliziert, das ergibt 1 / 0.
Die Variable i liest das aus und wird bei .Visible = i verwendet.
Warum das nun funktioniert ist mir (noch) ein Rätsel!

Sub Tabellen_aus_ein_blenden()
Dim intRow As Integer
Dim intSheets As Integer
Dim i As Byte
For intRow = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For intSheets = 2 To Sheets.Count
i = ActiveSheet.Cells(intRow, 2)
If Sheets(intSheets).Name = ActiveSheet.Cells(intRow, 1) Then
Sheets(intSheets).Visible = i
End If
Next intSheets
Next intRow
End Sub

Für sehr umfanreiche Dateien ergibt sich hiermit, eine komfortable Möglichkeit schnell nur gerade (nicht) / benötigten Tabellen anzuzeigen / auszublenden.

mfg

Wolfgang

Ähnliche Themen

Zellbezug von Excel zu VBA
Sina1982  19.08.2009 - 237 Hits - 12 Antworten

Zellbezug in Formel: SUMMENPRODUKT
hans-werner  01.12.2009 - 339 Hits - 9 Antworten

Makro: Zu letztem gespeicherten Wert springen und diesen löschen
flori006  03.05.2010 - 115 Hits - 4 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