Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kommentar bei bedingter Formatierung einbetten?

Kommentar bei bedingter Formatierung einbetten?
14.01.2018 13:04:13
Jürgen
Hallo zusammen,
mir kam folgender Gedanke zu einem bestehenden Kalenderblatt, bin mir aber nicht sicher ob das zum umsetzen möglich ist:
Ich markiere Spalten (tage) in Tabelle 1 (=Kalenderblatt) farbig auf Basis einer Liste für die Jahre 2018-2025, welche sich in Tabelle 2 befinden.
Die Formatierung dazu lautet:
=SVERWEIS(F$5;Feiertage;1;0)
für den Bereich :
=$F$4:$NE$40
Das klappt auch soweit alles.
Frage nun hierzu:
ist es möglich, dass man der so entsprechend eingefärbten Spalte auch zusätzlich ( evtl. in Form eines Kommentares) die entsprechende Bezeichnung zuordnen kann?
Also, dass bei MouseOver eben der Feiertagsname aus Tabelle 2 erscheint?
Falls, wie würde der Ansatz dazu dann aussehen? Formel oder VBA?
Danke & Gruss,
Juergen

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
14.01.2018 13:56:19
...
Hallo Jürgen,
... wieso bezeichnest Du Deine Formel =SVERWEIS(F$5;Feiertage;1;0) als Formatierung? Auch sonst ist mir aus Deinen bisherigen Angaben nicht wirklich verständlich, was Du wo zu stehen hast und warum Du für was eine Anzeige als Kommentar benötigst. Eine Beispieldatei wäre schon sinnvoll.
Gruß Werner
.. , - ...
AW: hier eine Beispieldatei
14.01.2018 16:05:37
Jürgen
Hallo Werner,
sorry, wenn ich mich missverständlich ausgedrückt habe. Die Formel steht so hinterlegt in der bedingten Formatierung. Ansonsten gerne hier meine Ausgangsdatei zu meinem Anliegen:
https://www.herber.de/bbs/user/118953.xlsm
Frage dazu:
es sind verschiedene Tage vertikal violett markiert aufgrund der Feiertags-Liste in Tabelle "Feiertage". Nun wollte ich im Top der farbigen Spalte bei diesen violett markierten Spalten einen Kommentar zur Info mit dem Anlass einbetten, so z.B. Ostermontag, Karfreitag, etc..
Danke & Gruss,
Juergen
Anzeige
AW: offensichtlich VBA-Lösung gesucht ...
14.01.2018 16:14:28
...
Hallo Jürgen,
... aus einer solchen halte ich mich heraus und downlade mir auch keine xlsm-Datei.
Gruß Werner
.. , - ...
AW: hier eine Beispieldatei
14.01.2018 16:53:52
Sepp
Hallo Jürgen,
in des Modul der Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange As Range, objDate As Range
Dim varRet As Variant, objComment As Comment

If Target.Address(0, 0) = "C1" Then
  Set objDate = Range(Cells(5, 6), Cells(5, Cells(5, Columns.Count).End(xlToLeft).Column))
  objDate.ClearComments
  For Each objRange In objDate
    varRet = Application.Match(Clng(objRange), Sheets("Feiertage").Columns(2), 0)
    If IsNumeric(varRet) Then
      Set objComment = objRange.AddComment
      With objComment.Shape.TextFrame
        .Characters.Text = Sheets("Feiertage").Cells(varRet, 1).Text
        .AutoSize = True
      End With
    End If
  Next
End If
End Sub


Gruß Sepp

Anzeige
AW: Nachgefragt wegen Modul Platz
14.01.2018 17:40:00
Jürgen
Hallo Sepp,
vielen Dank für deine Antwort.
Nur um sicher zu gehen:
Ich habe deinen Code in die Tabelle 4 eingefügt.
Da siehts jetzt so aus:
' **********************************************************************
' Modul: Tabelle4 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************
Option Explicit
Sub scrollMonth()
Dim objShape As Shape
Dim lngMonth As Long, lngFind As Long, varRet As Variant
Set objShape = Me.Shapes(Application.Caller)
With objShape
lngMonth = CLng(.TextFrame.Characters.Text)
lngFind = Application.Max(DateSerial(Year(Range("C1")), lngMonth, 1), Range("C1"))
varRet = Application.Match(lngFind, Rows(5), 0)
If IsNumeric(varRet) Then
ActiveWindow.ScrollColumn = varRet
End If
End With
Set objShape = Nothing
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange As Range, objDate As Range
Dim varRet As Variant, objComment As Comment
If Target.Address(0, 0) = "C1" Then
Set objDate = Range(Cells(5, 6), Cells(5, Cells(5, Columns.Count).End(xlToLeft).Column))
objDate.ClearComments
For Each objRange In objDate
varRet = Application.Match(CLng(objRange), Sheets("Feiertage").Columns(2), 0)
If IsNumeric(varRet) Then
Set objComment = objRange.AddComment
With objComment.Shape.TextFrame
.Characters.Text = Sheets("Feiertage").Cells(varRet, 1).Text
.AutoSize = True
End With
End If
Next
End If
End Sub

Ich kann aber keine Änderung feststellen. Habe ich das falsch gemacht!?
Hier das Sheet dazu nochmals:
https://www.herber.de/bbs/user/118960.xlsm
Danke & Gruss,
Juergen
Anzeige
AW: Nachgefragt wegen Modul Platz
14.01.2018 17:44:35
Sepp
Hallo Jürgen,
der Code läuft, sobald du in C1 das Datum eingibst.
Gruß Sepp

AW: Nachgefragt wegen Modul Platz
14.01.2018 18:12:41
Juergen
Hallo Sepp,
leider wills nicht klappen.
In C1 steht ja bereits ein Datum.
Das löschte ich und trug es erneut ein. Doch leider keine Aktion!?
Danke & Gruss,
Juergen
AW: Nachgefragt wegen Modul Platz
14.01.2018 18:18:34
Sepp
Hallo Jürgen,
na ja, ohne Code wird’s wohl nicht klappen! Du hast zweimal die Prozedur 'ScrollMonth' drin, aber nicht meinen Code, außerdem darf 'Option Explicit' nur ein mal, und zwar ganz zu beginn des Module stehen!
https://www.herber.de/bbs/user/118963.xlsm
Gruß Sepp

Anzeige
AW: klappt jetzt alles astrein!
14.01.2018 19:23:45
Jürgen
Hallo Sepp,
ok, das war selten blöd von mir. Entschuldige.
Hab mich mit meinen Test-Versionen total verzettelt.
Klappt natürlich jetzt auch bei mir.
Herzlichen Dank für deine schnelle und kompetente Hilfe!
Gruss, Juergen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge