Tooltipp, Inhalte von Zellen anzeigen

Bild

Betrifft: Tooltipp, Inhalte von Zellen anzeigen
von: Hans-Joachim Koch
Geschrieben am: 02.08.2015 10:50:00

Hallo zusammen,
folgendes Problem.
Ich möchte, wenn ich mit der Maus über einer Zelle stehe, den Inhalt von einer oder mehreren Zellen als ToolTipp (Quckinfo) anzeigen.
Ich habe mit der Gültigkeitsprüfung ausprobiert, dort kann ich aber nur eine feste Meldung anzeigen, keine Zellinhalte.
Beispiel:
In Zelle C4 steht ein Kürzel "F1" für Frühschicht
In C5 steht die Anfangszeit z.B. 07:00
In C6 steht die Endezeit z.B. 15:00
Über Gruppieren sieht man aber C5 und C6 nicht, wenn ausgeblendet.
Hat jemand eine Idee? Wäre sehr hilfreich für mein Projekt.
Vielen Dank
Hans

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Michael
Geschrieben am: 02.08.2015 14:35:05
Hallo Hans,
mit ein paar Zeilen VBA: https://www.herber.de/bbs/user/99248.xls
Schöne Grüße,
Michael

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Hans-Joachim Koch
Geschrieben am: 02.08.2015 15:08:11
Hallo Michael,
vielen Dank für Deine Unterstützung!.
Da ich mich gerade erst ein paar tage mit VBA beschäftige, habe ich natürlich noch nicht den Durchblick. Deshalb noch folgende Fragen an Dich:
1. Die Zeilen VBA müssen in meine Tabelle als Modul eingefügt werden, richtig?
2. Ist es möglich, dass die Tipps immer beim Aufruf des Tabellenblattes automatisch angelegt werden oder geht es nur auf Button-Klick
3. Ist es möglich, dass sich die Tipps automatisch anpassen, wenn ich ein Kürzel z.B. F1 in F2 geändert habe, Dann sollen die neuen Zeiten von F2 angezeigt werden.
4. Meine Kürzel stehen im Bereich von C4:AG4 und dann wieder in C11:AG11. Muss ich dann mit Range... die Bereiche anpassen?
Danke für deine weitere Hilfe.
Gruß
Hans

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Michael
Geschrieben am: 02.08.2015 16:38:45
Hallo Hans,
ad 1: im Prinzip ja - dann läuft das Makro mit dem jeweils gerade aktiven Blatt.
ad 2: im Prinzip ja - aber ich halte nicht allzu viel davon, (meist) unsinnige Aktionen automatisch ausführen zu lassen, die schlicht Zeit für nichts verbraten; besser wäre meines Erachtens:
ad 3: im Prinzip ja - mit einem Change-Event, das auf
ad 4: Deine bestimmten Bereiche reagiert.
Also kurz: ich würde einen Button anlegen, der alle erzeugt, dann sind sie ja mal da, und wenn innerhalb eines der Bereiche C4:AG4 und C11:AG11 was geändert wird, wird der konkrete Tooltip geändert:
Dazu setzt Du ins jeweilige Tabellenblatt die Routine...

Private Sub Worksheet_Change(ByVal Target As Range)
If (Not Intersect(Target, Range("C4:AG4")) Is Nothing) Or _
(Not Intersect(Target, Range("C11:AG11")) Is Nothing) Then
  Call Tooltip_Range(Target)
End If
End Sub

... wobei die beiden Intersect dazu führen, daß nur diese bestimmten Bereiche berücksichtigt werden,
wenn die "aufgebohrte" Variante von
Sub Tooltip_Range(ByVal r As Range)
Dim c As Range
For Each c In r
 c.ClearComments
 c.AddComment c.Text & vbCrLf & c.Offset(1).Text & vbCrLf & c.Offset(2).Text
Next
End Sub

aufgerufen wird, die einen Bereich übergeben bekommt und nur den/die jeweiligen Tooltip ändert.
Diese Variante mit dem übergebenen Range kannst Du prinzipiell über alle Blätter laufen lassen:
Sub Tooltip_Sheets()
Const r1 = "C4:AG4"
Const r2 = "C11:AG11"
Dim x&
  For x = 1 To Worksheets.Count
      Worksheets(x).Activate
      Call Tooltip_Range(Range(r1))
      Call Tooltip_Range(Range(r2))
   Next
End Sub
Schöne Grüße,
Michael

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Hans-Joachim Koch
Geschrieben am: 02.08.2015 17:43:18
Hallo Michael,
danke, dass Du Dich so ausgiebig mit meinem Projekt beschäftigst.
Ich habe jetzt Deine letzten Vorschläge ins Tabellenblatt eingefügt.
Ich bekomme immer die Fehlermeldung: Fehler beim Kompilieren, Sub oder Function nicht definiert.
Leider habe ich keine Ahnung, was da schief läuft.
Gruß
Hans

Bild

Betrifft: Beispieldatei?
von: Michael
Geschrieben am: 02.08.2015 17:48:53
Hallo Hans,
dann lad bitte mal ne anonymisierte Beispieldatei hoch.
Gruß,
Michael

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Hans-Joachim Koch
Geschrieben am: 02.08.2015 18:36:27
Hallo Michel,
anbei Beispieldatei
Gruß
Hans
https://www.herber.de/bbs/user/99254.xlsm

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Michael
Geschrieben am: 03.08.2015 15:18:24
Hallo Hans,
leider macht es kaum Sinn, die geänderte Datei wieder hochzuladen, beim Speichern kam eine Meldung wie "Funktionalitätsverlust wegen X-Version".
Was ich gemacht habe, war: ein neues Modul anlegen (man kann die übrigens umbenennen, damit man hinterher noch so in etwa weiß, was wo drinsteht: im VB-Editor unter Ansicht/Eigenschaften), die Tooltip_Range in Tabelle20 ausschneiden und im neuen Modul einfügen: dann tut es.
Damit Du erst Mal alle tooltips anlegen kannst, kopiere am Besten alles in einem Rutsch ins neue Modul:

Sub Tooltip_Range(ByVal r As Range)
Dim c As Range
For Each c In r
 c.ClearComments
 c.AddComment c.Text & vbCrLf & c.Offset(1).Text & vbCrLf & c.Offset(2).Text
Next
End Sub
Sub Tooltip_ActiveSheet()
Const r1 = "C4:AG4"
Const r2 = "C11:AG11"
 Call Tooltip_Range(Range(r1))
 Call Tooltip_Range(Range(r2))
End Sub
Sub Tooltip_Sheets()
Const r1 = "C4:AG4"
Const r2 = "C11:AG11"
Dim x&
  For x = 1 To Worksheets.Count
      Worksheets(x).Activate
      Call Tooltip_Range(Range(r1))
      Call Tooltip_Range(Range(r2))
   Next
End Sub
Das Tooltip_ActiveSheet() kannst Du in Deinem Oktober-Blatt auf einen Button legen.
Happy Exceling,
Michael

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Koch
Geschrieben am: 03.08.2015 20:08:19
Hallo Michael,
danke für Deine Bemühungen. Nach viel Testerei habe ich es nun hinbekommen, das auf Button Click die Tolltipps erscheinen. Ich habe die Zeilen nun auch erweitert, damit alle 6 mit Tooltipps angezeigt werden.
Nun noch eine Frage: Gibt es auch die Möglichkeit, alle Tolltipps auf Button-Click wieder zu löschen?
Viele Grüße
Hans

Bild

Betrifft: AW: Tooltipp, Inhalte von Zellen anzeigen
von: Michael
Geschrieben am: 04.08.2015 20:01:48
Hallo Hans,
im Prinzip, indem Du die Tooltip_Range auf einen anderen Namen kopierst, etwa Tooltip_Range_entfernen, dort die Zeile c.AddComment blabla rauslöscht und sie wie gehabt aufrufst.
Du "weißt ja", wo die Tooltips stehen, also tut es so ohne weiteres Nachdenken.
Die bereits vorhandene Zeile c.ClearComments löscht bereits alle evtl. Kommentare.
Als "stand-alone"-Lösung ist eine Kombination aus Range.SpecialCells mit dem Parameter xlCellTypeComments denkbar (siehe etwa hier:
https://msdn.microsoft.com/de-de/library/office/Ff196157.aspx )
Dann sinngemäß:

Sub Tooltips_entfernen()
Dim c As Range
For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeComments)
 c.ClearComments
 Next
End Sub
Evtl. mußt Du noch Application.EnableEvents = False setzen, um das Change vorübergehend zu deaktivieren.
Ich kann es jetzt aber nicht weiter testen; Deine Datei scheint bei mir schlicht zu spinnen.
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tooltipp, Inhalte von Zellen anzeigen"