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
	
 
	![[-]](https://www.clever-excel-forum.de/images/collapse.png) 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
 
	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
	
 
	![[-]](https://www.clever-excel-forum.de/images/collapse.png) 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
 
	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