Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 17:42:00
Wolfgang
Hallo*
in das Tabellenblatt "Ergebnis" wird im Bereich C4:C26 und E4:E26 Text hineinkopiert, der an bestimmten Stellen ein * enthalten kann. Wie kann ich erreichen, dass beim hineinkopieren eines Textbeitrages direkt überwacht wird, ob der Text ein * enthält und wenn ja, dass dann eine Auffordung erscheint (Eingabeaufforderung oder MsgBox.?), den Text zu ergänzen. In der Folge sollte dann jeweils das * durch den eingegebenen Text ersetzt werden. Kriege das über den Makrorekorder nicht hin. Kennt jemand eine Möglichkeit? - Danke schon jetzt für die Rückantworten.
Herzliche Grüße
Wolfgang

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

Betreff
Datum
Anwender
Anzeige
AW: wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 17:58:36
Worti
Hallo Wolfgang,
das geht zB mit dem Worksheet_Change-Ereignis der Tabelle Ergebnis:


Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count = 1 Then
        If Target.Row >= 4 And Target.Row < 27 Then
           If Target.Column = 3 Or Target.Column = 5 Then
              If InStr(1, Target, "*") > 0 Then
                 Application.EnableEvents = False
                 Target.Value = InputBox("Bitte den Stern ersetzten durch Text!", , Target)
                 Application.EnableEvents = True
              End If
            End If
        End If
     End If
End Sub


Gruß Worti

Anzeige
AW: wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 19:07:00
Wolfgang
Hallo Worti,
das klappt fast, VBA kopiert mir jetzt allerdings den gesamten Text in die Inputbox. Gibt es eine Möglichkeit, lediglich den Stern in die Inputbox zu kopieren und dann durch den eingegebenen Text an der jeweiligen Stelle in Textzeile zu ersetzen? - Danke schon jetzt wieder für Deine Rückmeldung und auch herzlichen Dank für Deine jetzige Meldung.
Gruß - Wolfgang

AW: wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 19:36:00
Worti
Hallo Wolfgang,
meinst du so:


Private Sub Worksheet_Change(ByVal Target As Range)
     Dim strText As String
     If Target.Count = 1 Then
        If Target.Row >= 4 And Target.Row < 27 Then
           If Target.Column = 3 Or Target.Column = 5 Then
              If InStr(1, Target, "*") > 0 Then
                 Application.EnableEvents = False
                 strText = InputBox("Bitte den Stern ersetzten durch Text!", , "*")
                 Target.Value = Application.WorksheetFunction.Substitute(Target.Value, "*", strText)
                 Application.EnableEvents = True
              End If
            End If
        End If
     End If
End Sub


Gruß Worti

Anzeige
AW: wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 19:57:00
Wolfgang
Hallo Worti,
erneut herzlichen Dank.- eigentlich ist es genauso, wie ich es mir vorgestellt hatte; Jetzt fällt mir dabei nur auf -sorry-, dass man den Text, den es zu ergänzen gilt, gar nicht sieht. - Kann der evtl. dort erscheinen, wo momentan der Text ("Bitte den Stern ersetzten durch Text!", , "*") erscheint? Danke nochmals.
Gruß - Wolfgang

AW: wenn * dann MsgBox und Eingabeaufforderung
12.10.2007 20:01:42
Worti
Hallo Wolfgang,
woher weiß ich denn, welcher Text zu nehmen ist? Und wenn es sich immer um den gleichen Text handelt, warum erst eine User-Eingabe und nicht sofort automatisch ersetzten?
Gruß Worti

Q
12.10.2007 20:18:58
Wolfgang
Hallo Worti,
stimmt, ich war davon ausgegangen, dass VBA sich jeweils meldet, wenn innerhalb des genannten Bereiches ein Text auftaucht der ein * enthält. Quasi so, wie in deiner ersten Version, als der Text in der Inputbox erschien. Wenn also z.B. der Text, der da noch in der Inputbox erscheint an anderer Stelle erscheint, damit er einfach noch vor Augen ist, um die passende Ergänzung in die Inputbox einzutragen - wäre das denkbar? Der Tausch Sternchen gegen Eingabetext funktioniert ja bereits super in der zweiten Version von Dir. Es ist, das hätte ich fast vergessen, nicht immer der gleiche Text. Danke schon jetzt wieder.
Gruß - Wolfgang

Anzeige
AW: Q
12.10.2007 20:38:00
Worti
Hallo Wofgang,
spontan mal zwei Möglichkeiten: den Text als Prompt oder als Titel der Inputbox anzeigen. Was gefällt dir besser?


Private Sub Worksheet_Change(ByVal Target As Range)
     Dim strText As String
     If Target.Count = 1 Then
        If Target.Row >= 4 And Target.Row < 27 Then
           If Target.Column = 3 Or Target.Column = 5 Then
              If InStr(1, Target, "*") > 0 Then
                 Application.EnableEvents = False
                 '1. Variante Anzeige des Textes als Titel der Inputbox
                 strText = InputBox("Bitte den Stern ersetzten durch Text!", Target.Value, "*")
                 'oder zweite Variante Anzeige des Textes als Prompt der Inputbox
                 'strText = InputBox(Target.Value, "Bitte den Stern ersetzten durch Text!", "*")
                 Target.Value = Application.WorksheetFunction.Substitute(Target.Value, "*", strText)
                 Application.EnableEvents = True
              End If
            End If
        End If
     End If
End Sub

Gruß Worti

Anzeige
AW: Q
12.10.2007 20:47:03
Wolfgang
Hallo Worti,
genau das ist es, beides ist gut - ich habe mich spontan für die zweite Version entschieden. Super! - recht herzlichen Dank nochmals für Deine Ausarbeitungen und vor allem auch Deine Geduld mit mir.
Ein schönes Wochenende und herzliche Grüße
Wolfgang

Dir auch ein schönes WE und bis demnächst oT
12.10.2007 20:49:15
Worti
Worti

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige