Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1568to1572
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 anpassen für Button

SelectionChange anpassen für Button
08.07.2017 11:45:47
Gisela
Hallo,
durch die Hilfe aus diesem Forum bin ich ein ganzes Stück weitergekommen.Dafür nochmal Danke.
Hier das SelectionChange:
'schriftfarbe nach Farbe Spalte bei Eingabe A
Dim z, s, tg, dat, co1
DoEvents
z = Target.Row
s = Target.Column
tg = Weekday(Cells(6, s))
If tg = 7 Or tg = 1 Then Exit Sub
If Cells(z, s) = "A" Then
co1 = Cells(z, 38).Interior.Color
Cells(z, s).Font.Color = co1
End If
Das klappt wunderbar.
Ich möchte das ganze jetzt über einen Button realisieren. Hintergrund ist der, dass nunmehr in der Spalte 38 (Spalte der Hintergrundfarben) zwischendurch Namen aus einem anderen TB übertragen werden. Und dann gibt es eine Fehlermeldung. Günstiger wäre es, wenn ich nach Eingabe der ganzen "A" im gesamten Anwesenheitsbereich über einen Button den Code aktivieren könnte. Für eine entsprechende Anpassung des Codes fehlen mir leider die notwendigen Kenntnisse.
Kann mir bitte jemand helfen.
Vielen Dank und liebe Grüße
Gisela

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SelectionChange anpassen für Button
08.07.2017 13:03:57
Beverly
Hi Gisela,
verwende anstelle Target dieses: ActiveCell


AW: SelectionChange anpassen für Button
08.07.2017 13:35:03
Gisela
Hallo Karin,
vielen Dank für deine Hilfe. Aber ich bekomme die Änderung mit ActiveCell nicht hin. Gibt immer wieder eine Fehlermeldung. Muss ich da nicht auch irgendwo den Bereich angeben? Es soll ja über einen Button funktionieren.
'schriftfarbe nach Farbe Spalte bei Eingabe A
Dim z, s, tg, dat, co1
DoEvents
z = Target.Row
s = Target.Column
tg = Weekday(Cells(6, s))
If tg = 7 Or tg = 1 Then Exit Sub
If Cells(z, s) = "A" Then
co1 = Cells(z, 38).Interior.Color
Cells(z, s).Font.Color = co1
End If
hier kannst du die Musterdatei einsehen mit dem selectionchange-ereignis
https://www.herber.de/bbs/user/114756.xlsm
Vielleicht hast du ja noch eine Idee.
Vielen Dank und Grüße
Gisela
Anzeige
Change-Ereignis anpassen für Button
08.07.2017 16:18:59
Beverly
Hi Gisela,
wie sieht dein Makro jetzt aus und welche Fehlermeldung wird ausggeben?
Du verendst übrigens nicht das SelectionChange-Ereignis (Reaktion beim Markieren einer Zelle) sondern das Change-Ereignis (Reaktion bei Eingabe).


AW: Change-Ereignis anpassen für Button
08.07.2017 17:28:41
Gisela
Hallo Karin,
da ich außer Recorder keine großen VBA-Kenntnisse haben, ist hier mal wörtlich dein Hinweis (für Target ActiveCell) umgesetzt. Da erfolgt keinerlei Ergebnis auch keine Fehlermeldung.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z, s, tg, dat, co1
DoEvents
z = ActiveCell.Row
s = ActiveCell.Column
tg = Weekday(Cells(6, s))
If tg = 7 Or tg = 1 Then Exit Sub
If Cells(z, s) = "A" Then
co1 = Cells(z, 38).Interior.Color
Cells(z, s).Font.Color = co1
End If
End Sub
Vielleicht noch eine Idee?
Vielen Dank und Grüße
Gisela
Anzeige
AW: Change-Ereignis anpassen für Button
08.07.2017 17:43:49
Beverly
Hi Gisela,
wenn du den Code einem Schalter zuweisen willst, dann darf er selbstverständlich nicht im Change-Ereignis des Tabellenblattes stehen. Entweder du schreibst ihn in als separates Makro ein allegemeines Modul und verknüpfst das Makro dann mit deinem Schalter (Formular-Steuerelement) oder du machst einen Doppelklick auf das ActiveX-Steuerelement (falls du ein solches verwendest) und schreibst den Code in das dortige Prozedurgerüst.


AW: Change-Ereignis anpassen für Button
08.07.2017 18:42:53
Gisela
Hallo Karin,
Vielen Dank, dass du dich noch mit meinem Problem beschäftigst. Mit diesem Makro wird aber auch nur eine Zelle mit der entsprechend Schriftfarbe versehen.
Ich benötige das aber für einen Bereich, z.B. F9:AJ50.
Sub farbespalte()
Sheets("anwesenheit").Select
Dim z, s, tg, dat, co1
DoEvents
z = ActiveCell.Row
s = ActiveCell.Column
tg = Weekday(Cells(6, s))
If tg = 7 Or tg = 1 Then Exit Sub
If Cells(z, s) = "A" Then
co1 = Cells(z, 38).Interior.Color
Cells(z, s).Font.Color = co1
End If
End Sub
Hast du noch einen Tipp?
Vielen Dank und Grüße
Gisela
Anzeige
AW: Change-Ereignis anpassen für Button
08.07.2017 20:31:05
Werner
Hallo Gisela,
so:
Sub farbespalte()
Dim raBereich As Range
Dim raZelle As Range
With Sheets("anwesenheit")
Set raBereich = .Range(.Cells(9, 6), .Cells(50, 36))
For Each raZelle In raBereich
If raZelle.Value = "A" Then
raZelle.Font.Color = .Cells(raZelle.Row, 38).Interior.Color
End If
Next raZelle
End With
Set raBereich = Nothing
End Sub
Gruß Werner
AW: Change-Ereignis anpassen für Button
08.07.2017 23:21:27
Beverly
Hi Gisela,
für den Bereich in deiner hochgeladenen Mappe:
Sub Faerben()
Dim rngZelle As Range
For Each rngZelle In Range(Cells(3, 1), Cells(16, 31)).SpecialCells(xlCellTypeConstants)
If rngZelle.Value = "A" Then rngZelle.Font.Color = Cells(rngZelle.Row, 33).Interior. _
Color
Next rngZelle
End Sub


Anzeige
danke, siehe text
09.07.2017 07:21:56
Gisela
Hallo,
vielen Dank für die Arbeit mit meinem Problem an Werner und Karin. Nach kleineren Anpassungen funktionieren beide Vorschläge super.
Liebe Grüße und eine schöne Zeit
Gisela
Gerne u. Danke für die Rückmeldung. o.w.T.
09.07.2017 10:07:56
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige