Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
05.10.2022, 14:22
(Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2022, 14:23 von chris-ka.)
Hi,
Code:
Sub all()
Dim rngTarget As Range, myColorindex As Integer, target
Set rngTarget = Range("W7:NW400")
For Each target In rngTarget
Select Case UCase(target.Value)
Case "T"
myColorindex = 24
Case "G"
myColorindex = 40
Case "S"
myColorindex = 33
Case "K"
myColorindex = 3
Case "U"
myColorindex = 4
Case ""
myColorindex = xlNone
End Select
target.Interior.ColorIndex = myColorindex
cancel = True
Next
End Sub
Eine kleine Anleitung gibt es hier:
https://youtu.be/CuhmQZt8Md0
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Tommiks
Registriert seit: 29.09.2015
Version(en): 2030,5
05.10.2022, 16:29
(Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2022, 16:30 von snb.)
Dieser Code reicht schon
Code:
Sub M_snb()
For Each it in Range("W7:NW400")
it.Interior.ColorIndex= instr(it.value," KU T S G")
Next
End Sub
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Tommiks
Registriert seit: 29.12.2019
Version(en): 2019
@chris-ka,
vielen Dank...
Registriert seit: 29.12.2019
Version(en): 2019
Der untere Code (habe im Internet gefunden) dient zum Hervorheben der Zeile und Spalte, die die aktive Zelle enthalten, innerhalb der aktuellen Region
Im folgenden Codebeispiel wird die Farbe in allen Zellen des Arbeitsblatts gelöscht, in dem die ColorIndex-Eigenschaft auf 0 festgelegt wird. Dann werden die Zeile und Spalte mit der aktiven Zelle innerhalb der aktuellen Region mithilfe der CurrentRegion-Eigenschaft des Range-Objekts hervorgehoben.Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Clear the color of all the cells
Cells.Interior.ColorIndex = 0
If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
With ActiveCell
' Highlight the row and column that contain the active cell, within the current region
Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 8
Range(Cells(.CurrentRegion.Row, .Column), Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)).Interior.ColorIndex = 8
End With
Application.ScreenUpdating = True
End Sub
@chirs-ka,
die Zeile
Code:
Cells.Interior.ColorIndex = 0
löscht die Farben deines Codes. Ich habe anstelle von "0" "xlNone" hinzugefügt, aber der Code löscht immer noch die Farben. Wenn ich die Zeile (Code) ganz entferne, wo ich rauf klicke ,wird die ganze Spalte und die ganze Zeile mit den Farbcode 8 markiert, und diese Farbe bleibt auch.
Wie kann man diesen Code anpassen? Danke...
Viele Grüße
Registriert seit: 03.04.2020
Version(en): Office 365 und 2010
Hallo,
welches Ergebnis soll denn am Ende erzielt werden? - Soll die Farbe mit dem Index 8 bestehen bleiben, wenn eine andere Zelle aktiv wird?
Bei diesem Code wird jedes mal, wenn sich im Tabellenblatt etwas ändert die Farbe zurückgesetzt und die jeweils neue aktive Zeile und Spalte mit der Index Farbe 8 markiert.
Grüße
NobX
Registriert seit: 29.12.2019
Version(en): 2019
@Guten Morgen NObX,
der Farbcode kann weiterhin 8 bleiben.
Aber der Code soll nicht die restlichen Farben eliminieren(löschen).
Es geht nur darum die X- und Y- Achsen der angeklickten Zelle anzuzeigen.
Vielen Dank für die Unterstützung.
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hallo,
Farbenkreuz mit Farben + Zellen mit Farben = Probleme ;)
Ich kann mich noch an so einen Monstercode erinnern. der fast alles abgedeckt hat.
ggf. reicht dir das ja auch so...
Nur jetzt kann nicht "kopiert" werden da ja eine Mehrfachauswahl ist.
Muss es eigentlich ein Kreuz sein? oder würde Zeile oder Spalte schon ausreichen?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, rng1, rng2, myTar
If TypeName(Selection) = "Range" Then
Application.EnableEvents = False
Set myTar = Target(1, 1)
Set rng1 = Columns(Target.Column)
Set rng2 = Rows(myTar.Row)
Set rng = Union(rng1, rng2)
rng.Select
myTar.Activate
Application.EnableEvents = True
End If
End Sub
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Tommiks
Registriert seit: 29.12.2019
Version(en): 2019
Tatsächlich kann nicht kopiert werden, das ist nicht vom Vorteil.
Ich würde gerne eine Alternative probieren. Es geht darum, wenn man in einer Zelle anklickt, dann will der Schichtführer den Mitarbeiter und das Datum erkennen können. Er möchte nicht an der falschen Stelle eine Abwesenheit eintragen.
Danke....
Registriert seit: 28.08.2022
Version(en): 365
Hi,
ein kleiner VBA-Code und eine bed.Form sollten dein Problem lösen:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = Target.Row
Range("A2") = Target.Column
End Sub
Und dann die bed.Form. mit der Formel
=ODER(ZEILE()=$A$1;SPALTE()=$A$2) und dem gewünschten Format auf die gewünschten Zellen (ganze Tabelle oder nur Zeilen-/Spaltenköpfe) anwenden.
Statt den Hilfszellen A1 und A2 kann man auch jede andere Zelle nehmen.
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Registriert seit: 29.12.2019
Version(en): 2019
@HKindler,
hatte ich. Ich versuche alle bedingte Formatierungen abzuschaffen.
Vielen Dank.