Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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

Zeile Markieren

Zeile Markieren
21.11.2016 16:45:36
David
Hallo.
Ich möchte 2 Zellen beim anklicken einer bestimmten Zelle (gleiche Zeile) farbig markieren. Es gibt viele Diskussionen darüber, hier habe ich einen Code gefunden der die vorherige Zellfarbe nicht ändert. Allerdings wird in diesem Code nur eine Zelle farbig markiert. Im Beispiel Zelle 3. Ich möchte aber das Zelle 3 und Zelle 4 markiert werden. Vielen Dank für eure Hilfe.
Ich habe folenden Code auf einer Excel Site gefunden:
"Quelle: http://www.hajo-excel.de/vba_markieren_zelle.htm = Zelle markieren5"
Option Explicit
' Grundlage für SelectionChange http://www.ms-office-forum.net/forum/showthread.php?p=1743114&posted=1#post1743114
' angepast nicht Color Index, ohne Farbe, Anzahl Zellen
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
'ActiveSheet.Unprotect "Test"
If StZelle = "" Then
StZelle = Cells(Target.Row, 3).Address
LoFarbe = Cells(Target.Row, 3).Interior.Color
Cells(Target.Row, 3).Interior.Color = 255
BoFett = Cells(Target.Row, 3).Font.Bold
Else
If LoFarbe = 16777215 Then
Range(StZelle).Interior.ColorIndex = xlNone
Else
Range(StZelle).Interior.Color = LoFarbe
End If
Range(StZelle).Font.Bold = BoFett
LoFarbe = Cells(Target.Row, 3).Interior.Color
BoFett = Cells(Target.Row, 3).Font.Bold
StZelle = Cells(Target.Row, 3).Address
Cells(Target.Row, 3).Interior.Color = 255
Cells(Target.Row, 3).Font.Bold = True
End If
'ActiveSheet.Protect "Test"
End If
End Sub

Private Sub Worksheet_Deactivate()
'* H. Ziplies                                     *
'* 04.06.16                                       *
'* erstellt von HajoZiplies@WEB.de                *
'* http://Hajo-Excel.de
If StZelle  "" Then
'ActiveSheet.Unprotect "Test"
Range(StZelle).Interior.Color = LoFarbe
Range(StZelle).Font.Bold = BoFett
'ActiveSheet.Protect "Test"
End If
End Sub

Option Explicit
'**************************************************
'* H. Ziplies *
'* 04.06.16 *
'* erstellt von HajoZiplies@WEB.de *
'* http://Hajo-Excel.de *
'**************************************************
Public StZelle As String
Public LoFarbe As Long
Public BoFett As Boolean

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile Markieren
21.11.2016 18:33:57
Peter
Hallo David,
ich habe mal eine Lösung erstellt, die sowohl zur Einfärbung von zwei aufeinander folgenden Zeilen als auch zur Einfärbung von zwei aufeinander folgenden Zellen führt. Die Zellen kannst Du mit einem Doppelclick und die Zeilen mit einem Rechtsclick einfärben.
https://www.herber.de/bbs/user/109616.xlsm
Bitte mal ausprobieren, FeedBack wäre schön.
Mit freundlichem Gruß
Peter Kloßek
AW: Zeile Markieren
22.11.2016 09:01:18
David
Hallo Peter,
vielen Dank für deine Ausführung.
Leider ist das nicht ganz das was ich benötige.
Der Zweck meiner Ausführung ist, das ich in Zeile B einen Wert habe, 20 Zeilen Weiter Rechts stehen die Preise und Artikelnummern. Hier möchte ich den Preis und die Artikelnummer markiert haben sobald ich eine bestimmte Zelle anklicke. Ich benötige genau das skript wie es ist, nur das eben nicht nur eine Zelle sondern 2 markiert sind.
https://www.herber.de/bbs/user/109623.xlsm
Vielen Dank nochmal für deine Mühe
LG David
Anzeige
AW: Zeile Markieren
22.11.2016 12:18:16
Peter
Hallo David,
es ist ein bischen schwierig, Deine Anforderungen richtig zu verstehen, wenn Du offenbar Spalten und Zeilen verwechselst. Ich sende Dir nun eine Version, in welcher bei Rechtsclick auf eine Zelle diese und die links davor stehende Zelle fett markiert werden. Der dazugehörende Code ist für die Tabelle 2 gespeichert. Natürlich kann man ihn auch in jeder anderen Tabelle verwenden. Du schreibst "... sobald ich eine bestimmte Zelle anklicke.", wer kann denn jetzt raten, auf welche Du klicken möchtest? Wenn es nicht die letzte zu markierende Zelle (von den beiden) sein soll, dann musst Du schon eine bestimmte Position links oder rechts von diesen Zellen festlegen.
https://www.herber.de/bbs/user/109633.xlsm
Mit freundlichem Gruß
Peter Kloßek
Anzeige
AW: Zeile Markieren
22.11.2016 14:04:58
David
Ganz einfach wie hier in diesem Beispiel:
https://www.herber.de/bbs/user/109635.xlsm
Egal in welche Zelle ich klicke wird hier in der selben Zeile die Zelle in Spalte 3 Rot gefärbt.
Nun möchte ich aber das nicht nur in die Zelle ind Spalte 3 Rot gefärbt wird sondern auch die Zelle in Spalte 4. Die Zellen Sollen auch nur kurzfristig markiert sein. Als Lesehilfe. Genau wie in der Musterdatei.
LG David
Der Text vorhin sollte heissen:
Hallo Peter,
vielen Dank für deine Ausführung.
Leider ist das nicht ganz das was ich benötige.
Der Zweck meiner Ausführung ist, das ich in Zeile B einen Wert habe, 20 Spalten weiter rechts stehen die Preise und Artikelnummern. Hier möchte ich den Preis und die Artikelnummer markiert haben sobald ich eine bestimmte Zelle anklicke. Ich benötige genau das skript wie es ist, nur das eben nicht nur eine Zelle sondern 2 markiert sind.
https://www.herber.de/bbs/user/109623.xlsm
Vielen Dank nochmal für deine Mühe
LG David
Anzeige
AW: Zeile Markieren
22.11.2016 14:56:30
David
Ich habe es nun geschafft.
Ich kenne mich mit vba zwar nicht aus, aber ich habe den Code von:
Cells(Target.Row, 3)
in
Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21))
geändert. Somit wird nun Spalte 20 und 21 eingefärbt.
Evt. schlagt ihr die Hände über dem Kopf zusammen :) aber es geht....:)
Vieleicht gibt es ja noch eine schönere Variante?
VielenD ank.
LG David
Option Explicit
' Grundlage für SelectionChange http://www.ms-office-forum.net/forum/showthread.php?p=1743114&posted=1#post1743114
' angepast nicht Color Index, ohne Farbe, Anzahl Zellen
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
'ActiveSheet.Unprotect "Test"
If StZelle = "" Then
StZelle = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)). _
Address
LoFarbe = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)). _
Interior.Color
Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 20)).Interior.Color = _
255
BoFett = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)).Font. _
Bold
Else
If LoFarbe = 16777215 Then
Range(StZelle).Interior.ColorIndex = xlNone
Else
Range(StZelle).Interior.Color = LoFarbe
End If
Range(StZelle).Font.Bold = BoFett
LoFarbe = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)). _
Interior.Color
BoFett = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)).Font. _
Bold
StZelle = Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)). _
Address
Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)).Interior.Color = _
255
Range(Cells(ActiveCell.Row - 1, 20), Cells(ActiveCell.Row - 1, 21)).Font.Bold =  _
True
End If
'ActiveSheet.Protect "Test"
End If
End Sub

Private Sub Worksheet_Deactivate()
'* H. Ziplies                                     *
'* 04.06.16                                       *
'* erstellt von HajoZiplies@WEB.de                *
'* http://Hajo-Excel.de
If StZelle  "" Then
'ActiveSheet.Unprotect "Test"
Range(StZelle).Interior.Color = LoFarbe
Range(StZelle).Font.Bold = BoFett
'ActiveSheet.Protect "Test"
End If
End Sub

Anzeige
AW: Zeile Markieren
22.11.2016 15:03:20
David
+++*OHNE -1*+++
Option Explicit
' Grundlage für SelectionChange http://www.ms-office-forum.net/forum/showthread.php?p=1743114&posted=1#post1743114
' angepast nicht Color Index, ohne Farbe, Anzahl Zellen
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
'ActiveSheet.Unprotect "Test"
If StZelle = "" Then
StZelle = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Address
LoFarbe = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Interior. _
Color
Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 20)).Interior.Color = 255
BoFett = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Font.Bold
Else
If LoFarbe = 16777215 Then
Range(StZelle).Interior.ColorIndex = xlNone
Else
Range(StZelle).Interior.Color = LoFarbe
End If
Range(StZelle).Font.Bold = BoFett
LoFarbe = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Interior. _
Color
BoFett = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Font.Bold
StZelle = Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Address
Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Interior.Color = 255
Range(Cells(ActiveCell.Row, 20), Cells(ActiveCell.Row, 21)).Font.Bold = True
End If
'ActiveSheet.Protect "Test"
End If
End Sub

Private Sub Worksheet_Deactivate()
'* H. Ziplies                                     *
'* 04.06.16                                       *
'* erstellt von HajoZiplies@WEB.de                *
'* http://Hajo-Excel.de
If StZelle  "" Then
'ActiveSheet.Unprotect "Test"
Range(StZelle).Interior.Color = LoFarbe
Range(StZelle).Font.Bold = BoFett
'ActiveSheet.Protect "Test"
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige