Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelklick und bedingte Formatierung

Doppelklick und bedingte Formatierung
27.09.2004 17:23:05
Stephi
Hallo zusammen,
habe folgendes Problem und hoffe, dass mir jemand helfen kann:
Ich möchte mit einem Doppelklick das Tabellenblatt wechseln und möchte, dass der Curser jeweils an die Stelle (SOLL oder IST oder VAR der entsprechenden Kennzahl) im zugehörigen Produkttabellenblatt springt, die verantwortlich für das Resultat ist. Verantwortlich heisst genauer gesagt, dass ich die Felder bedingt Formatiert habe und dass es toll wäre, dass der Curser beim Doppelklick auf ein rotes Feld den kleinsten Wert im entsprechenden Tabellenblatt sucht und bei Doppelklick auf ein grünes Feld den grössten Wert. Bei einem gelb unterlegten Feld soll das Feld, dass dem Wert am nahesten kommt ausgewählt werden…
Zum besseren Verständnis habe ich eine Mustertabelle angehängt. Der Code funktioniert leider nicht richtig und das Thema mit der bedingten Formatierung beim Doppelklick konnte ich nicht realisieren.
Vielen Dank schon mal für Hilfe.
Stephi
https://www.herber.de/bbs/user/11372.xls

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim rng As Range
Dim byRow As Byte, i As Byte, j As Byte
Dim DblStart As Double
Set rng = Range("B3:D9")
If Intersect(Target, rng) Is Nothing Then Exit Sub
byRow = Target.Row
With Sheets("ProduktA")
DblStart = .Cells(byRow, 2).Value
j = 2
For i = 2 To 10 Step 3
If .Cells(byRow, i).Value < DblStart Then
DblStart = .Cells(byRow, i).Value
j = i
End If
Next
.Activate
.Cells(byRow, j).Select
.Rows(byRow).Hidden = False
End With
Dim rng As Range
Dim byRow As Byte, i As Byte, j As Byte
Dim DblStart As Double
Set rng = Range("E3:G9")
If Intersect(Target, rng) Is Nothing Then Exit Sub
byRow = Target.Row
With Sheets("ProduktB")
DblStart = .Cells(byRow, 2).Value
j = 2
For i = 2 To 8 Step 3
If .Cells(byRow, i).Value < DblStart Then
DblStart = .Cells(byRow, i).Value
j = i
End If
Next
.Activate
.Cells(byRow, j).Select
.Rows(byRow).Hidden = False
End With
Dim rng As Range
Dim byRow As Byte, i As Byte, j As Byte
Dim DblStart As Double
Set rng = Range("H3:J9")
If Intersect(Target, rng) Is Nothing Then Exit Sub
byRow = Target.Row
Cancel = True
With Sheets("ProduktC")
DblStart = .Cells(byRow, 2).Value
j = 2
For i = 2 To 8 Step 3
If .Cells(byRow, i).Value < DblStart Then
DblStart = .Cells(byRow, i).Value
j = i
End If
Next
.Activate
.Cells(byRow, j).Select
.Rows(byRow).Hidden = False
End With
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick und bedingte Formatierung
EtoPHG
Hallo Stephi,
Ich hab Deinen Code mal ein bisschen optimiert.
Vielleicht hilft das mal schon.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim rng As Range
Dim byRow As Byte, i As Byte, j As Byte
Dim DblStart As Double
Dim sSheetName As String
sSheetName = ""
If ActiveSheet.Name <> "AlleProdukte" Then Exit Sub
If Not (Intersect(Target, Range("B3:D9")) Is Nothing) Then sSheetName = "ProduktA"
If Not (Intersect(Target, Range("E3:G9")) Is Nothing) Then sSheetName = "ProduktB"
If Not (Intersect(Target, Range("H3:J9")) Is Nothing) Then sSheetName = "ProduktC"
If sSheetName = "" Then Exit Sub
byRow = Target.Row
With Sheets(sSheetName)
DblStart = .Cells(byRow, 2).Value
j = 2
For i = 2 To 10 Step 3
If .Cells(byRow, i).Value < DblStart Then
DblStart = .Cells(byRow, i).Value
j = i
End If
Next
.Activate
.Cells(byRow, j - 1).Select
.Rows(byRow).Hidden = False
End With
End Sub

Gruss Hansueli
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