Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: If funktion über mehrere Zellen

If funktion über mehrere Zellen
11.05.2017 14:04:17
Defence
Hallo Zusammen
Hier mal mein code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("B36") 
Funktioniert soweit. Nun möchte ich aber , dass es von Zelle B36 bis H36 geht. Das heisst, sobald irgendwo in diesen Zellen der Wert >3.9 soll das Makro ausgeführt werden. Wenn ich die Zellen einzeln durchlaufen lasse, dann geht das nicht. Weil das vordere Makro ja aufgelöst wird.
Jemand eine Idee?
Vielen Dank.
Gruss
Defence
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If funktion über mehrere Zellen
11.05.2017 14:10:20
Defence
Habs gleich selber hingekriegt.
Hier mein Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Rows("37:43").EntireRow.Hidden = True
Rows("48").EntireRow.Hidden = True
If Range("B36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("c36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("d36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("e36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("f36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("g36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
If Range("h36") > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
End Sub
Vielleicht, hats jemand noch etwas knackiger ;-)
Gruss
Defence
Anzeige
AW: If funktion über mehrere Zellen
11.05.2017 14:50:23
yummi
Hallo Defence,
ein wenig schlanker geht es schon:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wks As Worksheet
Rows("37:43").EntireRow.Hidden = True
Rows("48").EntireRow.Hidden = True
If Not Application.Intersect(ActiveSheet.Range("B36:H36"), Target) Is Nothing Then
If Target.Value > 3.9 Then
Rows("37:43").EntireRow.Hidden = False
Rows("48").EntireRow.Hidden = False
End If
End If
End Sub
Gruß
yummi

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige