Blinkender Text in InputBox
#1
Hallo zusammen,

ich möchte gerne einen angezeigten Text (im nachfolgenden Makro "Beispieltext") in einer InputBox blinkend (rot) anzeigen lassen. Ich habe eine Teilkopie aus dem entsprechenden Makro beigefügt.

Ist das möglich ? Ich habe schon mehrere Beiträge zu blinkendem Text in Excel in verschiedenen Foren gelesen aber bisher nichts passendes gefunden. Ich kenne mich leider nicht gut aus im Thema VBA.
Über Unterstützung würde ich mich sehr freuen.


Sub Daten_übertragen()
Dim strSuchwort As Variant, lz1 As Long
Dim MTG As Worksheet, mtFind As Range
Dim Adr1 As String, wh As Integer
 
On Error GoTo Fehler
'3x Eingabe wiederholen wenn ungültiges Datum eingegeben wird
neu: strSuchwort = InputBox("Beispieltext", "Suchmaske")
    If strSuchwort = Empty Then Exit Sub
    If Not IsDate(strSuchwort) Then
        MsgBox "Kein gültiges Datum"
        If wh >= 2 Then Exit Sub
        wh = wh + 1: GoTo neu
    End If

MfG
Gerhard
Top
#2
Hallo Gerhard,

Zitat:ich möchte gerne einen angezeigten Text (im nachfolgenden Makro "Beispieltext") in einer InputBox blinkend (rot) anzeigen lassen.

ob das in einer InputBox funktioniert, müßte ausprobiert werden.

Nur welchen Sinn hätte das Ganze?
Eine InputBox ist, wie es der Name schon sagt, nur und einzig allein dazu da,
etwas einzugeben und sich dann wieder zu verkrümeln. Mich würde so ein
Geflimmere beim Schreiben eher nerven.
Top
#3
Hallo Peter,
am Ende des Makros wird ein Löschvorgang gestartet.
Ich möchte hier einen Warnhinweis zum Löschvorgang "einbauen".

MfG
Gerhard
Top
#4
Ich wage zu bezweifeln, dass das bei einer Inputbox möglich ist. Wenn, dann vermutlich nur mit extremem Aufwand.
Da ist es mit Sicherheit wesentlich einfacher, sich selbst eine Inputbox zu basteln, die in Wahrheit ein normales Userform ist.

Nächster zweifelhafter Punkt: Wieso braucht es eine INPUTbox für einen Warnhinweis? Wäre hier nicht eine Msgbox sinnvoller?
Und ganz allgemein: Meiner bisherigen Erfahrung nach sind Warnhinweise - und seien sie noch so schreiend - relativ sinnlos, da sie häufig von Benutzern ungelesen weggeklickt bzw. bestätigt werden. Und einmal gelöscht ist immer gelöscht. Überleg dir, ob du zu löschende Datensätze nicht besser in eine separate Tabelle verschiebst. Damit sind sie aus der Haupttabelle "gelöscht", können aber im Falle des Falles wiederhergestellt werden.

Falls du dich von deiner Idee nicht abbringen lässt, würde ich die Msgbox/Inputbox so gestalten, dass ein einfaches Wegklicken nicht möglich ist. ZB so: "Wollen Sie den Datensatz behalten?". Wird nun vorbehaltlos auf Ja geklickt, ist nichts passiert.
Schöne Grüße
Berni
Top
#5
Hallo Gerhard,

Zitat:am Ende des Makros wird ein Löschvorgang gestartet.
Ich möchte hier einen Warnhinweis zum Löschvorgang "einbauen".

und was soll das dann mit der InputBox? Die ist doch dann schon lange wieder zu.
Meldungen werden im Übrigen in einer MessageBox = NachrichtenBox ausgegeben.

Und wie ich schon geschrieben habe, abgesehen davon, daß ich Dein Vorhaben für
absolut "sinnfrei" halte, ob Dein Vorhaben überhaupt durchführbar ist, müßte erst noch
geklärt werden.
Top
#6
Hallo Peter, hallo Berni,
erstmal vielen Dank für euere Rückmeldungen.
Ich stelle fest und habe nun verstanden, dass mein
Vorhaben so nicht sinnvoll ist.
Ich werde versuchen hier eine andere Lösung zu finden.

MfG
Gerhard
Top
#7
Hallöchen,

Zitat:Wieso braucht es eine INPUTbox für einen Warnhinweis? Wäre hier nicht eine Msgbox sinnvoller?
zumindest die Eingabe eines Datums stelle ich mir in einer MsgBox schwerer als in einer Inputbox vor Sad

ich könnte mir den Warntext durch Änderung des Prompt der Inputbox vorstellen, im Prinzip so. Die Box kommt in dem Beispiel erst mal solange wieder, bis ein Datum eingegeben wurde. Könnte man ggf. noch abändern, sodass auch ein Abbruch möglich ist. Übrigens wird geprüft, ob etwas eingegeben wurde, was als Datum interpretierbar ist. 1.1.1 ist z.B. auch ein Datum, fragt sich nur, welches … oder anders rum, fragt sich, ob Dir jedes Datum recht ist.

Zitat:Sub test()
'Variablendeklaration
Dim dDatum, strTxt$
'Eingabetext (Prompt)
strTxt = "Bitte Datum eingeben:"
'Schleife solange Variableninhalt leer oder 0
Do While dDatum = 0
'Inputbox aufrufen, mit aktuellem Datum vorbelegt
dDatum = InputBox(strTxt, "Datumseingabe", Date)
'Wenn kein Datum eingegeben wurde, Eingabe auf 0 zuruecksetzen
If Not IsDate(dDatum) Then dDatum = 0
'Neuen Eingabetext bilden
strTxt = "Das war wohl nix - Bitte Datum eingeben:"
'Ende Schleife solange Variableninhalt leer oder 0
Loop
'Wenn Sicherheitsabfrage mit Ja beantwortet wird, dann
If MsgBox("Wollen Sie die Daten vom " & dDatum & " wirklich l?schen?", vbYesNo) = vbYes Then
'loeschen
'Ende Wenn Sicherheitsabfrage mit Ja beantwortet wird, dann
End If
End Sub

Wie schon hingewiesen - einen anschließenden zusätzlichen Warnhinweis würde ich anhand der Variable dDatum auch programmieren, siehe Codebeispiel
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#8
Hallo Andre,

Zitat:Wie schon hingewiesen - einen anschließenden zusätzlichen Warnhinweis würde ich anhand der Variable dDatum auch programmieren, siehe Codebeispiel

das hast Du offenbar nicht richtig verinnerlicht.
Es ging nicht um die Meldung, es ging darum, daß das Eingabefeld der Inputbox rot blinken sollte.
Top
#9
Hallo Andre,

vielen Dank für Deinen Vorschlag mit dem Warnhinweis.
Ich werde mal versuchen das entsprechend mit "einzubauen".

Angedacht war, wie von Peter kommentiert, Text in einer InputBox blinkend rot anzuzeigen.
Ich habe aber verstanden, dass meine Anfrage diesbezüglich schwer umsetzbar und auch
nicht sinnvoll ist.

Ich melde mich dann nochmal.

MfG
Gerhard
Top
#10
Hi Peter,

doch, hab ich … Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste