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

Hilfetexte für Formular-Schaltflächen auf TB

Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 20:37:00
reiner
Hallo Leute,
den Befehlselementen auf einem UF können Hilfetexte (Control Tip Text) zur Erläuterung zugefügt werden, die den jeweiligen Text anzeigen wenn sich der Mauscorsor dem Befehlselement nähert.
Weiß jemand ob solche Hilfetexte den Formular-Schaltflächen auf einem Tabellenblatt hinzugefügt werden können?
Die Hilfetexte sollen -falls so etwas überhaupt möglich ist- angezeigt werden wenn sich der Mauscursor im unmittelbaren Bereich der Schaltfläche in ein „Hand-Symbol“ verändert.
mfg
reiner

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 20:58:00
Original
Hi,
die Controls aus "Formula" haben diese Eigenschaft nicht und auch bei Steuerelementen funktioniert
der Controltiptext nur in Userformen, nicht in Tabellen.
Man kann das nachbauen, wenn man Lust und Zeit dafür hat.
mfg Kurt

AW: Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 21:08:00
reiner
hallo kurt,
hast du einen Tipp für weitere Informationen "zum Nachbauen"; ob ich dann noch Zeit und Lust dazu habe wird sich zeigen.
mfg
reiner

AW: Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 21:19:00
Original
Hi,
bei deinem VBA-Level verzichte besser auf derartige Basteleien, die meist nur mit
API-Funktionen zu realisieren sind, wenn sie zuverlässig funktionieren sollen.
Alternativ könntest du auf Commandbar ausweichen, die verfügen über einen
Tooltiptext.
mfg Kurt

Anzeige
AW: Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 21:34:42
reiner
über die Alternative mit "Commandbar" könnte ich nachdenken
danke dir
reiner

AW: Hilfetexte für Formular-Schaltflächen auf TB
03.08.2008 21:34:00
Ramses
Hallo
Hier mal ein Workaraound mit Bordmitteln
Option Explicit
Public TempTextName As String
Public txtFrame As Boolean

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    '(C) Ramses
    'Eigenes Tooltip für einen Commandbutton definieren
    Dim topCorner As Double, leftCornerTxt As Double, bottomCornerTxt As Double
    Dim oldCell As Range
    With Me.CommandButton1
    
        If Y > 3 And Y < .Height - 3 And X > 3 And X < .Width - 3 Then
        If txtFrame = True Then Exit Sub
            Set oldCell = ActiveCell
            leftCornerTxt = ActiveSheet.CommandButton1.Left + ActiveSheet.CommandButton1.Width
            bottomCornerTxt = ActiveSheet.CommandButton1.Top + ActiveSheet.CommandButton1.Height
            ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, leftCornerTxt, bottomCornerTxt, 0#, 0#).Select
            Selection.ShapeRange(1).TextFrame.AutoSize = msoTrue
            Selection.Characters.Text = "Dein Texthinweis:" & Chr$(10) & "(C) Ramses" & Chr$(10) & "Dein Text zur Anzeige"
            With Selection.Font
                .Name = "Arial"
                .FontStyle = "Standard"
                .Size = 10
            End With
            Selection.ShapeRange.Fill.ForeColor.SchemeColor = 43
            Selection.ShapeRange.Fill.Visible = msoTrue
            Selection.ShapeRange.Fill.Solid
            Selection.ShapeRange.Line.Weight = 1#
            Selection.ShapeRange.Line.Visible = msoTrue
            Selection.ShapeRange.Line.Style = msoLineSingle
            Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
            TempTextName = Selection.Name
            txtFrame = True
            oldCell.Select
        Else
            On Error Resume Next
            With ActiveSheet.Shapes(TempTextName)
                .Delete
            End With
            txtFrame = False
        End If
    End With
End Sub


Den Code in deinen Commandbutton in der Zelle einfügen
Gruss Rainer

Anzeige
Hinweis...
03.08.2008 21:40:48
Ramses
Hallo
Die Bezeichnung "Commandbutton1" in der Funktion und im Code musst du natürlich an den Namen deines Commandbuttons anpassen :-)
Gruss Rainer

AW: Hinweis...
03.08.2008 21:42:00
Original
Hi,
er verwendet Schaltflächen aus "Formular", die haben kein derartiges Ereignis
mfg Kurt

AW: Hinweis...
03.08.2008 21:44:35
Ramses
Hallo
Das weiss er ja in der Zwischenzeit :-)
Gruss Rainer

AW: Hinweis...
03.08.2008 21:51:00
reiner
hallo ramses,
wenn Kurt recht hat, und es sieht wohl danach aus, kann ich deinen Programmcode leider nicht einsetzen; schade
trotzdem vielen dank
mfg
reiner

AW: Hinweis...
03.08.2008 22:05:48
Ramses
Hallo
ich dachte du hättest dich zwischenzeitlich von diesen verabschiedet :-)
Wie du siehst, sind die Steuerelemente bzw ActiveX-Elemente flexibler.
Gruss Rainer

Anzeige
AW: Hinweis...
03.08.2008 22:07:00
reiner
hallo ramses,
noch eine Verständnisfrage zu dem "Workaraound mit Bordmitteln"
Du schreibst: ..Den Code in deinen Commandbutton in der Zelle einfügen
ich habe
den Programmcode in ein Modul eingefügt,
CommandButton1 auf dem TB eingefügt
Digitale Signatur eingefügt
was ist noch zu tun damit ein Tooltip angezeigt wird?
reiner

AW: Hinweis...
03.08.2008 22:08:38
Ramses
Hallo
Commandbutton einfügen
Doppelklick auf den Commandbutton
Code dort einfügen.
Dies ist ein Code der in einem Modul so nicht funktioniert.
Gruss Rainer

AW: Hinweis...
03.08.2008 22:35:38
reiner
hallo ramses,

Commandbutton einfügen
Doppelklick auf den Commandbutton
Code dort einfügen.


habe ich getan
weiterhin habe ich einen Haltepunkt im Programmcode gesetzt, wenn sich der Mauszeiger dem CommandButton1 nähert wird der Code wird bis zum Haltepunkt abgearbeitet und an der rechten unteren Ecke des CB1 wird ein schwachblauer Kreis angezeigt dar sich "größer" ziehen lässt; in dem nun angezeigten Testfeld steht auf 3 Zeilen: "Dein Texthinweis: (C) Ramses Dein Text zur Anzeige".
Soll der Tooltip-Text wirklich in einer Zelle erscheinen, oder habe ich noch eine Anpassung vorzunehmen?
mfg reiner

Anzeige
AW: Hinweis...
03.08.2008 22:47:49
reiner
hallo ramses,
meinen letzten Beitrag muss ich ein wenig korrigieren; der Tooltiptext erscheint natürlich nicht in einer Zelle sondern in einem gelb hinterlegten Textfeld, aber nur wenn ein Haltepunkt in Höhe der Codezeile:

Selection.Characters.Text = "Dein Texthinweis:" & Chr$(10) & "(C) Ramses" & Chr$(10) & "Dein Text zur Anzeige"


gesetzt ist; ohne Haltepunkt wird zwar der Code abgearbeitet aber der Tooltiptext erscheint nicht.
mfg
reiner

AW: Hinweis...
04.08.2008 07:52:37
Ramses
Hallo
Der Tooltip wird in einem Textframe angezeigt, der beim verlassen der Schaltfläche wieder gelöscht wird.
Ich habe überlesen, dass du E2007 verwendest. Das verwaltet die Textboxen wohl anders.
Offensichtlich wird die Zeile
Selection.ShapeRange(1).TextFrame.AutoSize = msoTrue
in E2007 anders interpretiert. Da könntest du mal in der Hilfe nachsehen, oder mit dem Makrorekorder das erstellen einer Textbox aufzeichnen, und mal sehen, was in dem Code drin steht.
Du kannst auch mal mit den beiden "0#" in dieser Zeile experimentieren
ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, leftCornerTxt, bottomCornerTxt, 0#, 0#).Select
Entfernen und mit eigenen Werten ersetzen (z.B. 50, 50)
Gruss Rainer

Anzeige
AW: Hinweis...
04.08.2008 20:49:02
reiner
hallo ramses,
leider konnte ich mich nicht früher melden.
wenn:...bottomCornerTxt, 0#, 0#) in: bottomCornerTxt, 130, 30) oder ähnliche Werte abgewandelt wird, wird das Textfenster angezeigt und nach Verlassen der Schaltfläche wieder entfernt.
Ich denke das Problem ist hiermit aus meiner Sicht gelöst.
vielen Dank für die Unterstützung
reiner

Merci für's Feedback o.w.T.
04.08.2008 20:55:22
Ramses
...

AW: Hinweis...
03.08.2008 21:45:00
Original
Hi,
ich glaube zu erblinden, Select!
mfg Kurt

AW: Hinweis...
03.08.2008 22:07:10
Ramses
Hallo
Dafür dass du gar nichts geschrieben hast, bist du ganz schön kritisch.
Es läuft doch,... wo ist das Problem.
Alles andere sind details die zu korrigieren sind.
Gruss Rainer

Anzeige
AW: Hinweis...
04.08.2008 14:52:59
Original
Hi,
na ja, bei dir, als einem Herber-Urgestein hätte ich halt Select nicht erwartet, wo es doch
viel einfacher mit Objektvariabler geht.
mfg Kurt

AW: Hinweis...
04.08.2008 21:04:00
reiner
hallo Kurt,
eigentlich ist das Problem mit Hilfe von ramses gelöst, es würde mich jedoch trotzdem interessieren welche Programmiervariante du vorziehen würdest, da du die Select-Variante von ramses nicht erwartet hättest.
Deine Meinung:
...die Controls aus "Formula" haben diese Eigenschaft nicht und auch bei Steuerelementen funktioniert
der Controltiptext nur in Userformen, nicht in Tabellen.
wurde zumindest bezgl. der ActiveX-Steuerelemente von ramses widerlegt; es funktioniert auch in meiner Tabelle.
ich freue mich schon auf deine Lösungsansatz trotz meines niedrigen VBA-Levels
reiner

Anzeige
AW: Hinweis...
04.08.2008 21:23:05
Ramses
Hallo Kurt
Also schön,... extra für Dich :-)
Option Explicit

Public TempTextName As String
Public txtFrame As Boolean

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    '(C) Ramses
    'Extra für Kurt ohne Select :-)
    'Eigenes Tooltip für einen Commandbutton definieren
    Dim topCorner As Double, leftCornerTxt As Double, bottomCornerTxt As Double
    Dim oldCell As Range
    Dim myTb As Shape
    With Me.CommandButton1
        'Infotip erst einblenden, bzw. wieder ausblenden, wenn Mauscourser
        'einen Bereich von 3 Points von den äusseren Rändern des Commandnuttons
        'überschreitet
        If Y > 3 And Y < .Height - 3 And X > 3 And X < .Width - 3 Then
        If txtFrame = True Then Exit Sub
            leftCornerTxt = ActiveSheet.CommandButton1.Left + ActiveSheet.CommandButton1.Width
            bottomCornerTxt = ActiveSheet.CommandButton1.Top + ActiveSheet.CommandButton1.Height
            Set myTb = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, leftCornerTxt, bottomCornerTxt, 0#, 0#)
            With myTb
                .TextFrame.AutoSize = msoTrue
                With .OLEFormat.Object
                    .Text = "Dein Texthinweis:" & Chr$(10) & "(C) Ramses" & Chr$(10) & "Dein Text zur Anzeige"
                    .Font.Name = "Arial"
                    .Font.FontStyle = "Standard"
                    .Font.Size = 10
                    .ShapeRange.Fill.ForeColor.SchemeColor = 43
                    .ShapeRange.Fill.Visible = msoTrue
                    .ShapeRange.Fill.Solid
                    .ShapeRange.Line.Weight = 1#
                    .ShapeRange.Line.Visible = msoTrue
                    .ShapeRange.Line.Style = msoLineSingle
                    .ShapeRange.Line.ForeColor.SchemeColor = 64
                End With
                TempTextName = .Name
            End With
            txtFrame = True
        Else
            On Error Resume Next
            With ActiveSheet.Shapes(TempTextName)
                .Delete
            End With
            txtFrame = False
        End If
    End With
    Set myTb = Nothing
End Sub

Gruss Rainer

Anzeige
AW: Hinweis...
05.08.2008 22:34:00
Original
Hi,
hoffe für dich, dass du deine Mäuse nicht mit Excel/VBA verdienen musst, du
würdest dich arm programmieren.
mfg Kurt

Warum ? o.w.T.
05.08.2008 23:52:00
Ramses
...

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige