Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Reaktion auf 'Zurück-Button' programmier

Reaktion auf 'Zurück-Button' programmier
25.01.2021 18:30:39
J.
Hallo VBA-Specials!
Ich habe folgendes Problem. Ich bin Euch schon im voraus für Eure Hilfe dankbar.
Mein VBA-Coding soll folgendes machen.
Aus dem Excel-Tabellenblatt (Tabelle7) soll per Hyperlink in eine andere Tabelle (Tabelle4) gesprungen werden. Das klappt auch wunderbar.
In der Zieltabelle (Tabelle4) habe ich (gekürzt) folgendes Coding hinterlegt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C As Range, D As Range
Dim Ws As Worksheet
If Target.Column = 1 Then
ThisWorkbook.ActiveSheet.Rows(Target.Row).Interior.ColorIndex = 8
ElseIf Target.Column > 1 Then
'     ... Coding für Hyperlink - funktioniert einwandfrei ...
' Hier soll die Reaktion auf den Button 'zurück' (WebGoBack) erfolgen.
ElseIf KeyCode = "{WebGoBack}" Then
ThisWorkbook.ActiveSheet.Rows(Target.Row).Interior.ColorIndex = x1none
End If
End Sub
Ich springe also in die Spalte A zu dem gesuchten Begriff. Dann wird die gesamte Zeile mit ColorIndex = 8 eingefärbt.
Wenn ich in den Spalten A bin, kann ich noch einiges machen (Filter auf andere Tabellen). Das spielt aber hier keine Rolle. Es funktioniert einwandfrei.
Nun möchte ich, dass, wenn ich (in Tabelle4) auf den 'Zurück'-Button ( (WebGoBack) klicke, die Einfärbung (ColorIndex = 8) wieder zurückgenommen wird und dann wieder auf das Tabellenblatt (Tabelle7) gesprungen wird. Sonst habe ich das Problem, dass die Zeilen eingefärbt bleiben - und irgendwann die ganze Tabelle (ColorIndex = 8) ist.
Der 'Rückspung' funktioniert auch einwandfrei (Standard von Excel 2007). Aber die Rücknahme der Einfärbung funktioniert nicht.
Ich habe das 'intuitiv' mit ElseIf KeyCode = "{WebGoBack}" Then versucht. Auch andere Varianten habe nicht zum Erfolg geführt.
1. finde ich nicht den 'Key' für die 'Taste' 'Zurück'.
2. ist mir nicht klar, wie ich VBA beibringen kann, dass in der aktiven Zeile die Anweisung Interior.ColorIndex = x1none durchführen soll.
Kann doch eigentlich nicht so schwierig sein - oder - Vielleicht doch?
Danke schon mal für Eure Tips!!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Reaktion auf 'Zurück-Button' programmier
25.01.2021 19:59:57
ralf_b
mir scheint, du vermischst Äpfel und Birnen. Selection_Change liefert ein Target zu auswerten. Woher kommt denn der Keycode?
lies mal hier http://www.office-loesung.de/ftopic646916_0_0_asc.php
AW: Reaktion auf 'Zurück-Button' programmier
26.01.2021 10:44:18
J.
Hallo Ralf!
Danke für deine Reaktion!
Im 'Target' drücke (manuell) ich den Button 'Zurück' (grüner Pfeil oben links). Dann greift die Standardfunktion, indem zur Ursprungszelle zurückgesprungen wird. Ich will nur, dass die zuvor erfolgte Einfärbung (ThisWorkbook.ActiveSheet.Rows(Target.Row).Interior.ColorIndex = 8) wieder zurückgenommen wird (ThisWorkbook.ActiveSheet.Rows(Target.Row).Interior.ColorIndex = x1none).
Evtl. greift hier ein 'Verzweig' auf ein Makro. Das muß ich noch ausprobieren.
Liebe Grüße - Jürgen -
PS: Leider kann ich Deinen Link http://www.office-loesung.de/ftopic646916_0_0_asc.php nicht aurufen.
Anzeige
AW: Reaktion auf 'Zurück-Button' programmier
26.01.2021 12:07:45
Daniel
Hi
Klick mal mit der rechten Maustaste auf den Link und öffne ihn in einem anderen Fenster.
Oder kopieren den Linktext und füge ihn in die Adresszeile deines Browsers ein.
Gruß Daniel
AW: Reaktion auf 'Zurück-Button' programmier
26.01.2021 12:48:15
J.
Konnte den Link inzwischen öffnen. Manchmal hat man ein Br.. vor dem Kopf. :-(
AW: Reaktion auf 'Zurück-Button' programmier
26.01.2021 10:49:55
Daniel
Hi
Mach das Färben der Zeile so:
1. Schreibe im Makro die Zeilennummer der Zeile in eine freie Zelle (z.B. A1)
2. richte für die Tabelle eine Bedingte Formatierung ein mit der Formel als Regel: =Zeile()=$A$1
Damit färbt sich automatisch die Zeile, deren Zeilennummer in A1 steht.
Wenn sich der Wert in A1 änderst, wird die alte Zeile automatisch entfärbt.
Weiterer Vorteil: bestehende Hintergrundfarben werden dabei nicht gelöscht sondern werden wieder sichtbar.
Gruß Daniel
Anzeige
AW: Reaktion auf 'Zurück-Button' programmier
26.01.2021 11:00:39
J.
Danke - Daniel!
Werde ich ausprobieren und Feddback geben.
LG Jürgen
AW: Reaktion auf 'Zurück-Button' programmier
27.01.2021 10:33:08
J.
Hallo!
Daniel sei Dank für die 'etwas andere' Lösung.
Ich habe in den
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

eingebaut:
' Aktuelle Zeile in Z1 schreiben
Range("Z1").Value = Target.Row
Set objZelle = Range("Z1")

Somit zeigt Excel mir die aktuelle Zeile in Zelle Z1
Diese formatiere ich dann in Bedingte Formatierung mit =ZEILE()=$Z$1
Einziges Problem, das ich noch hatte:
Die Bedingte Formatierung greift erst, wenn die Berechnungen durchgeführt werden.
Da aber das Workbook sehr umfangreiche Berechnungen durchführt (u.A. INDIREKT), hatte ich die automatische Berechnung für das gesamte Workbook mit
.CalculateBeforeSave = False
.Calculation = xlCalculationManual

ausgeschaltet.
Für das entsprechende Worksheet, für das die o.g. Formatierung gelten soll, habe ich diese _ Kalkulation mit

ActiveSheet.Calculate
vor END Sub
wieder aktiviert.
Danke nochmal und liebe Grüße
- Jürgen -
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige