Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1448to1452
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

SelectionChange Ereignis per Umschaltfläche an/aus

SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 19:45:37
Ingo
Hallo VBA-Gemeinde,
Ich hab ein schönes Script gefunden, welches mir die Spalte und Zeile der aktuell markierten Zelle farbig Schattiert:
' Highlight the entire row and column for the ActiveCell.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
ActiveCell.EntireRow.Interior.ColorIndex = 36
ActiveCell.EntireColumn.Interior.ColorIndex = 43
End Sub

Ein kleiner aber gravierender Schönheitsfehler ist, dass beim Drucken diese Tabelle auch die Schattierung angezeigt wird, welche im SelectionChange Ereignis festgelegt wird.
Gibt es die Möglichkeit dieses Change Ereignis per Umschaltfläche Ein oder auszuschalten in dieser Form:
If ToggleButton1.Value = 0 Then
Stope das Change Ereignis und entferne restliche Schattierung
else
starte das Ereignis wieder neu...
end if...
Danke für Eure Hilfe:)

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 20:04:09
Rudi
Hallo,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
If Not ToggleButton1 Then
ActiveCell.EntireRow.Interior.ColorIndex = 36
ActiveCell.EntireColumn.Interior.ColorIndex = 43
End If
End Sub
Gruß
Rudi

AW: Zeilen/Spaltenmarkierung mit Rechteck
25.09.2015 20:05:24
Daniel
Hi
such mal im Archiv oder per Google nach "Excel" und "Fadenkreuz"
dort solltest du Codebeispiele finden, wie man diese Markierung der aktiven Zeile und Spalte nicht über umfärben, sondern über die Positionierung zweier Rechtecke erhält.
das hat dann folgende Vorteile
- die Formatierung auf deinem Blatt bleibt erhalten, dh du kannst dann auch mit Hintergrundfarben auf dem Blatt arbeiten, die bei deiner Methode zerstört werden
- du kannst für diese Rechtecke über die Eigenschaften festlegen, ob sie mit ausgedruckt werden sollen oder nicht, dh auf dem Bildschrim sind sie immer sichtbar, im Ausdruck nie.
- über die .Visible-Eigenschaft des Shapes kannst du die Rechtecke bei Bedarf auch auf dem Bildschirm ganz einfach ein- und ausblenden.
Gruß Daniel

Anzeige
AW: SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 20:05:55
Dirk
Hallo Ingo,
zwar habe ich keine Antwort auf deine Frage, aber vllt. eine sehr gute (bessere) Alternative.
Schau mal hier:
http://hajo-excel.de/vba_markieren_fadenkreuz.htm
MfG
Dirk

AW: SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 20:07:48
Sepp
Hallo Ingo,
' **********************************************************************
' Modul: Tabelle9 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub ToggleButton1_Click()
  If Not ToggleButton1 Then
    Application.EnableEvents = True
    Cells.Interior.ColorIndex = xlColorIndexNone
    ActiveCell.EntireRow.Interior.ColorIndex = 36
    ActiveCell.EntireColumn.Interior.ColorIndex = 43
  Else
    Application.EnableEvents = False
    Cells.Interior.ColorIndex = xlColorIndexNone
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Cells.Interior.ColorIndex = xlColorIndexNone
  Target(1, 1).EntireRow.Interior.ColorIndex = 36
  Target(1, 1).EntireColumn.Interior.ColorIndex = 43
End Sub

Gruß Sepp

Anzeige
AW: SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 20:22:18
Ingo
1000 Dank an Alle, vor allem das Script von Sepp ist für mich die Krönung des Tages :)
Besser gehts nicht mehr!

AW: SelectionChange Ereignis per Umschaltfläche an/aus
25.09.2015 20:51:38
Ingo
Hallo nochmal,
eine kleine Ergänzungsfrage hätte ich noch zu Sepps genialen Script...
Könnte ich den Highlighter Bereich so ergänzen, dass beim Worksheet_SelectionChange immer die aktuell Markierte Zeile bei längeren Tabellen direkt in der zweiten Zeile unter der fixierten ersten Attributen Zeile angezeigt wird?
Das wäre dann echt ne perfekt fixiert u formatierte Ansicht für mich :))
Danke für Tipps in diese Richtung!

AW: SelectionChange Ereignis per Umschaltfläche
25.09.2015 21:21:49
Daniel
Hi
Activewindow.ScrollRow = Selection.Row
Gruß Daniel

Anzeige
AW: SelectionChange Ereignis per Umschaltfläche
25.09.2015 22:47:52
Ingo
Ja genau so soll es sein| Vielen Dank Daniel!!!
If "Danke das es euch gibt!!!" Then
"und ein genialiges Wochenende zusammen!"
end if

AW: SelectionChange Ereignis per Umschaltfläche
26.09.2015 01:40:07
Ingo
Beim Testen ist mir gerade noch eine Sache aufgefallen die die Qualität meiner navigation sehr einschränken würde.
Ich habe eine Benutzerformular was beim anklicken von Zellen in meiner Tabelle sofort in dieses Formular daten anzeigt..Die aktualisierte Anzeige habe ich im Quelltextbereich der Arbeitsmappe so umgesetzt:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' Textfelder
frmKontaktnavi.txtId.Value = Cells(ActiveCell.Row, 1).Value
frmKontaktnavi.txtFirma.Value = Cells(ActiveCell.Row, 2).Value
frmKontaktnavi.txtNachname.Value = Cells(ActiveCell.Row, 3).Value
frmKontaktnavi.txtVorname.Value = Cells(ActiveCell.Row, 4).Value
frmKontaktnavi.txtStrasse.Value = Cells(ActiveCell.Row, 5).Value
frmKontaktnavi.txtPlz.Value = Cells(ActiveCell.Row, 6).Value
..
End Sub
Nun kommt sepps Script ins Spiel das ich in den Quelltext Bereich der Navigationstabelle oben integriert habe:
Private Sub ToggleButton2_Click()
If Not ToggleButton2 Then
Application.EnableEvents = True
Cells.Interior.ColorIndex = xlColorIndexNone
ActiveCell.EntireRow.Interior.ColorIndex = 36
ActiveCell.EntireColumn.Interior.ColorIndex = 43
ToggleButton2.Caption = "Highlighter aus"
Else
Application.EnableEvents = False
Cells.Interior.ColorIndex = xlColorIndexNone
ToggleButton2.Caption = "Highlighter ein"
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Target(1, 1).EntireRow.Interior.ColorIndex = 36
Target(1, 1).EntireColumn.Interior.ColorIndex = 43
ActiveWindow.ScrollRow = Selection.Row
End Sub
Das funktioniert auch wenn die Schattierung aktiv ist, aber wenn ich die Markierung über die Umschaltfläche Ausschalte wird wohl über: Application.EnableEvents = False auch die Workbook_SheetSelectionChange mit deaktiviert und es wird im benutzerform keine aktualisierung mehr angezeigt:(
Kann man nur "Sub Worksheet_SelectionChange" ausschalten ohne die Sub "Workbook_SheetSelectionChange" mit anzuhalten und die Benutzerform aktualisierung zu sprengen...
Danke nochmal für die viele Aktive Hilfe von euch :)

Anzeige
nimm Rudis Code! o.T.
26.09.2015 07:52:28
Sepp
Gruß Sepp

AW: nimm Rudis Code! o.T.
26.09.2015 10:00:31
Ingo
Guten Morgen zusammen,
ja cool stimmt Sepp, dieser Quelltext:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
If Not ToggleButton2 Then
ActiveCell.EntireRow.Interior.ColorIndex = 36
ActiveCell.EntireColumn.Interior.ColorIndex = 43
ToggleButton2.Caption = "Highlighter ein"
Else
ToggleButton2.Caption = "Highlighter aus"
End If
End Sub
bringt mir ja schon das gewünschte Ergebnis:) So macht navigieren in Excel Spaß
Ein Verhalten von der Toggel-Box(oder meinem Quelltext;) wundert mich allerdings etwas:
Wenn ich z.B. auf Zelle B2 stehe und dann auf "Highlighter ein" klicke steht immer noch "Highlighter ein" auf dem Toggel (ganz ok, beim nächsten klick in nen Zellbereich gehts dann los mit dem Highlight... und ich erneut auf Zelle B2 klicke steht immer noch "Highlighter ein" da und erst wenn ich einen anderen Zellbereich anklicke Ändert sich der ToggelButton auf "Highlighter aus"und er Highlighter ist deaktiviert...
Wenn ich allerdings auf b2 stehe auf "Highlighter ein" klicke und dann auf B3 ändert sichs sofort auf den Status "Highlighter aus" und Der Highlighter wird gleich Eingeschaltet...
Ist ja eigentlich nur ne kleinigkeit, aber man klickt ja automatisch nach dem Toggel einstellen als nächstes öfter mal auf die gleiche Zelle die vor bedienung des togggels als letztes angesprochen wurde( zumindest ich:)
Viel Text für die denk erst letzte Toggelfrage von mir- kann ich den Toggel (bzw meinen Quelltext) auch direkt bei B2, "Highlighter ein" B2 aktivieren?
Einen erfolgreichen Arbeistag zusammen
Ingo

Anzeige
AW: nimm Rudis Code! o.T.
26.09.2015 10:15:49
Ingo
Habe übrigens eben ein und ausschalten vertauscht:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
If Not ToggleButton2 Then
ActiveCell.EntireRow.Interior.ColorIndex = 36
ActiveCell.EntireColumn.Interior.ColorIndex = 43
ToggleButton2.Caption = "Highlighter aus"
Else
ToggleButton2.Caption = "Highlighter ein"
End If
End Sub
...
Aber diese Lösung funktioniert ja jetzt schon zu 98,5%ig;
Tausend Dank nochmal an alle Mithelfer

AW: nimm Rudis Code! o.T.
26.09.2015 10:16:30
Sepp
Hallo Ingo,
trenne die beiden aktionen.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub ToggleButton2_Click()
  If ToggleButton2 Then
    Cells.Interior.ColorIndex = xlColorIndexNone
    ToggleButton2.Caption = "Highlighter aus"
  Else
    ActiveCell.EntireRow.Interior.ColorIndex = 36
    ActiveCell.EntireColumn.Interior.ColorIndex = 43
    ToggleButton2.Caption = "Highlighter ein"
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Cells.Interior.ColorIndex = xlColorIndexNone
  If Not ToggleButton2 Then
    ActiveCell.EntireRow.Interior.ColorIndex = 36
    ActiveCell.EntireColumn.Interior.ColorIndex = 43
  End If
End Sub

Gruß Sepp

Anzeige
AW: nimm Rudis Code! o.T.
26.09.2015 10:54:05
Ingo
OH WIE IST DAS SCHÖÖÖN !!!, 100%

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige