Registriert seit: 02.01.2021
Version(en): 2019
Hallo,
ich habe folgendes Problem:
Mit diesem VBA-Code blende ich unnötige Zeilen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In Range("A14:A23")
If xRg.Value = "0" Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
Application.ScreenUpdating = True
End Sub
Allerdings möchte ich, dass die Zeilen aus- und eingeblendet werden, sobald sich etwas ändert. Also, dass wenn etwas in der Zelle A14 steht, dass die Zeile 14 dann eingeblendet wird. Momentan geht das nur wenn ich in das ungeschützte Tabellenblatt gehe und mit Enter in einer der Zellen "aktiviere".
Kann mir da jemand helfen?
LG Tina
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Tina,
wie kommt denn etwas in Zelle A14, wenn die Zeile ausgeblendet ist?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
12.04.2021, 10:46
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2021, 10:47 von Kuwer.)
Hallo Tina,
das hier (
Klick mich! ) muss nur geringfügig geändert werden.

Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• so.egal
Registriert seit: 02.01.2021
Version(en): 2019
12.04.2021, 11:27
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2021, 11:35 von so.egal.)
Hallo,
durch die Verknüpfung mit einem anderen Tabellenblatt.
LG Tina
...mit Worksheet_Calculate?
Ich lerne dazu.
Nuss geknackt:
Private Sub Worksheet_Calculate()
'Updateby Extendoffice
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In Range("A14:A23")
If xRg.Value = "0" Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
Application.ScreenUpdating = True
End Sub
Registriert seit: 02.01.2021
Version(en): 2019
Hallo nochmal,
jetzt hab ich das Problem, dass es bei jeder Eingabe läd und so die Bedienung der Eingabetabelle stark verlangsamt. Gibt es eine Möglichkeit, dass das Macro erst anspringt, wenn ich den Tab anwähle und nicht bei jeder Eingabe?
LG Tina
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Zitat:durch die Verknüpfung mit einem anderen Tabellenblatt.
Dann musst Du auf die Änderung im anderen Tabellenblatt reagieren, also dort das Change-Ereignis nutzen und im Code dann auf das "EinAusBelndBlatt" verweisen
For Each xRg In Sheets("EinAusBelndBlatt").Range("A14:A23")
usw. (oder With nutzen)
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Tina,
(13.04.2021, 08:54)so.egal schrieb: Gibt es eine Möglichkeit, dass das Macro erst anspringt, wenn ich den Tab anwähle und nicht bei jeder Eingabe?
dann schiebe den Code in das
Private Sub Worksheet_Activate() - Ereignis.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• so.egal