Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile/Spalte markieren

Zeile/Spalte markieren
25.05.2008 18:57:00
Hilmar
Hallo Forum,
hätte gerne die Möglichkeit, die ganze Zeile und ganze Spalte der aktiven Zelle als Orientierung
zu markieren, sozusagen wie ein Fadenkreuz. Das sollte am besten mit Rechtsklick ein- und
ausgeschaltet werden können, weil nicht ständig gewünscht und erforderlich.
Das Ganze braucht nur in einer bestimmten Mappe zu funktionieren, nicht in allen Exceldateien.
Danke schon mal für Tipps.
Grüße Hilmar

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile/Spalte markieren
25.05.2008 19:22:14
Hilmar
Hallo Hajo,
ich möcht keine Farben, einfach nur so, als wenn man die Zeile und Spalte
mit der Strg-Taste nacheinander markiert, nur dass die aktive Zelle im Schnittpunkt ist.
mfg Hilmar

AW: Zeile/Spalte markieren
25.05.2008 19:31:40
Chris
Servus Hilmar,
per Makro z.B. so:

Sub test1()
Union(ActiveCell.EntireRow, ActiveCell.EntireColumn).Select
End Sub


In allgemeines Modul oder ins Tabellenblatt.
Gruß
Chris

Anzeige
AW: Zeile/Spalte markieren
25.05.2008 19:55:00
Hilmar
Hallo,
danke, aber da verschwindet die aktive Zelle immer nach Spalte A, außerdem jedes mal einen
Button klicken ist nicht die Lösung. dann soll das ja auch abwählbar sein.
mfg Hilmar

AW: Zeile/Spalte markieren
25.05.2008 20:45:13
Daniel
Hi
so ist es dann nach dienen Vorstellungen opitmiert:
- Diesen Code ins Modul des Tabellenblatts einfügen, wo das Fadenkreuz erscheinen soll:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not ToggleButton1 Then Exit Sub
Dim Zelle As Range
Set Zelle = ActiveCell
Application.EnableEvents = False
Union(Zelle.EntireRow, Zelle.EntireColumn).Select
Zelle.Activate
Application.EnableEvents = True
End Sub


- anschließend noch auf diesem Tabellenblatt einen Steuerelement - Togglebutton anlegen (Namen es Togglebutton im Code ggf anpassen, falls es auf dem Blatt mehrere togglebuttons gibt.)
Gruß, Daniel

Anzeige
AW: andere Möglichkeit
25.05.2008 19:56:00
Chris
Servus Hilmar,
als Selection_Change:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr As Variant, arrSplit As Variant
Dim lRow As Long, lColumn As Long, sName As Variant
If Selection.Cells.Count > 1 Then Exit Sub
arr = Target.Address
arrSplit = Split(arr, "$")
lRow = Target.Row
lColumn = Target.Column
sName = arrSplit(1)
Range(sName & lRow & "," & lRow & ":" & lRow & "," & sName & ":" & sName).Select
End Sub


Modul : Tabellenblatt
Gruß
Chris

AW: andere Möglichkeit
25.05.2008 20:00:01
Hilmar
Hallo Chris
das ist es schon fast, wenn das mit dem bequemen Abschalten eingebaut werden könnte?
mfg Hilmar

Anzeige
AW: andere Möglichkeit
25.05.2008 20:10:21
Reinhard
Hi Hilmar,
mit Klick in A1 schaltest du ein oder aus, A1 kannst du ja leicht im Code anpassen.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr As Variant, arrSplit As Variant
Dim lRow As Long, lColumn As Long, sName As Variant
Static AN As Boolean
If Target.Address(0, 0) = "A1" Then AN = Not AN
If AN = False Then
Target.Select
Exit Sub
End If
If Selection.Cells.Count > 1 Then Exit Sub
arr = Target.Address
arrSplit = Split(arr, "$")
lRow = Target.Row
lColumn = Target.Column
sName = arrSplit(1)
Range(sName & lRow & "," & lRow & ":" & lRow & "," & sName & ":" & sName).Select
End Sub

Gruß
Reinhard

Anzeige
AW: andere Möglichkeit
25.05.2008 20:22:00
Josef
Hallo Hilmar,
gesamten Code entsprechend einfügen.
Im Kontextmenu der Zelle kannst du dann die Funktion Ein/Ausschalten.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
createMenuEntry
End Sub

Private Sub Workbook_Deactivate()
deleteMenuEntry
End Sub

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If pblnAction Then
    If Target.Count = 1 Then
        Application.EnableEvents = False
        Union(Target.EntireRow, Target.EntireColumn).Select
        Target.Activate
        Application.EnableEvents = True
    End If
End If
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public pblnAction As Boolean


Sub createMenuEntry()
Dim objCommandbarButton As CommandBarButton

deleteMenuEntry

Set objCommandbarButton = Application.CommandBars("Cell").Controls.Add(msoControlButton)

With objCommandbarButton
    .Style = msoButtonIconAndCaption
    .Caption = IIf(pblnAction, "Markierung Aus", "Markierung Ein")
    .FaceId = IIf(pblnAction, 2991, 2993)
    .OnAction = "Markierung"
    .Tag = "markierung"
End With

Set objCommandbarButton = Nothing
End Sub

Sub deleteMenuEntry()
On Error Resume Next
Application.CommandBars("Cell").FindControl(Tag:="markierung").Delete
On Error GoTo 0
End Sub


Sub markierung()
Dim objCBCntrl As CommandBarControl

pblnAction = Not pblnAction

Set objCBCntrl = Application.CommandBars("Cell").FindControl(Tag:="markierung")

If Not objCBCntrl Is Nothing Then
    With objCBCntrl
        .Caption = IIf(pblnAction, "Markierung Aus", "Markierung Ein")
        .FaceId = IIf(pblnAction, 2991, 2993)
    End With
End If

Set objCBCntrl = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Zeile/Spalte markieren
25.05.2008 20:09:00
K.Rola
Hallo,
Code muss ins Mosul von "DieseArbeitsmappe, dann geht es in allen Tabellenblättern:

Option Explicit
Dim Kreuz As Boolean
Private Sub Workbook_Activate()
''Wenn es schon beim Öffnen/Aktivieren passieren soll
Kreuz = True
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As  _
_
Boolean)
Kreuz = Not Kreuz
If Not Kreuz Then Target.Cells(1).Select
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Kreuz Then
If Target.Count = 1 Then
Application.Union(Target.EntireRow, Target.EntireColumn).Select
Target.Activate
End If
End If
End Sub


Die Umbrüche müssen weg, keine Ahnung, wo die herkommen.
Gruß K.Rola

Anzeige
AW: Zeile/Spalte markieren
25.05.2008 20:14:00
Hilmar
Hallo K.Rola,
danke, passt.
mfg Hilmar

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige