Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Message Box Text markieren können

Forumthread: VBA - Message Box Text markieren können

VBA - Message Box Text markieren können
05.12.2017 20:10:52
Marco
Hi alle,
wie schon in der Überschrift beschrieben, möchte ich gerne die Message die mir ausgegeben wird mit der Maus markieren und kopieren können. Gibt es da eine Möglichkeit das ich die ausgegebene Meldung für andere Zwecke markieren und kopieren kann?
Gruß Marco
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 20:35:57
Hendrik
Hallo Marco,
muss der Text aus der MsgBox unbedingt markierbar sein oder geht es dir darum den output der MsgBox weiter zu verarbeiten?
Denn dann könntest Du ganz einfach: Msgbox = Worksheets("Dein Tabellenblattname").Range("A1").Text schreiben.
Der Output wäre dann in Zelle A1.
Viele Grüße
Hendrik
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 20:40:54
Marco
Danke Hendrik ich weiß dass das geht aber ich würde gerne den Text der Msg markieren können, um ihn z.B. im Internet Explorer bequem zu kopieren. Einer Zelle will ich den Text nicht zuweisen. Es wäre aber auch okay wenn anstatt einer MsgBox ein anderes Fenster erscheint aus dem ich was kopieren kann
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 20:42:52
Crazy
Hallo
wie kommt denn die Meldung in die MsgBox?
MfG Tom
AW: VBA - Message Box Text markieren können
05.12.2017 20:49:57
Marco
so kommt die Msg Meldung zu stande:
                    If NA = -1 Then
MsgBox ("Anlage " & .Cells(z, 7) & " nicht gepflegt!")
Exit Sub
End If

AW: VBA - Message Box Text markieren können
05.12.2017 21:12:01
Hendrik
Oke, ich verstehe.
Wäre es dann möglich eine Uferform zu öffnen in dieser eine Textbox erscheint mit deinem Inhalt aus der Zelle?
Das wäre meiner Meinung nach das einfachste.
Userform1.Show
Me.Textbox1.Value = Cells(z,7)
Nur eine Idee....
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 21:21:14
Marco
Ja das ist eine gute idee das würde gehen, aber das Fenster ist leer. Liegt das daran das der Wert .Cells(z, 7) nicht an das UserForm übergeben wird?
AW: VBA - Message Box Text markieren können
05.12.2017 21:59:47
Hendrik
das könnte daran liegen, dass deine Zelle kein .Value ist.
Versuche es mal ohne das .Value
So sollte es gehen:Ä
Userform1.Show
Userform1.Textbox1 = Cells(z,7)
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 22:03:05
Marco
ist trotzdem noch leer =(
AW: VBA - Message Box Text markieren können
05.12.2017 22:07:52
Werner
Hallo Marco,
dann mach mal einen Punkt vor Cells. Wenn dein Code den du hier gepostet hattest funktioniert hat, dann hast du da wohl ein With - End With und befindest dich auf einem anderen Blatt. Ohne den Punkt vor Cells nimmt der Code die Zelle Cells(z, 7) vom gerade aktiven Blatt. Und die Zelle wird wohl leer sein.
Also:
Userform1.Textbox1 = "Anlage " & .Cells(z, 7) & " nicht gepflegt!")
Gruß Werner
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 22:20:31
Hendrik
Danke Werner! guter Punkt...
AW: VBA - Message Box Text markieren können
05.12.2017 22:40:01
Marco
Super jetzt hat geklappt danke euch beiden xD
Gerne u.Danke für die Rückmeldung. o.w.T.
05.12.2017 23:35:47
Werner
Anzeige
AW: VBA - Message Box Text markieren können
05.12.2017 22:17:54
Hendrik
Schau mal, ob deine TextBox auch tatsächlich Textbox1 heißt.
Zudem wäre toll wenn du mir deinen Code hier reinstellst ab der Zeile an der Du dein "z" deklarierst.
Bei mir funktioniert es.
Sub test()
Dim i as Range
With Userform1.Textbox1
.MultiLine = True
For Each i in Range("A1:A10")
.Text = .Text & i .Value &  vbCr
Next i
End With
Userform1.Show
End 

Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA: Text in Message Box markieren und kopieren


Schritt-für-Schritt-Anleitung

Um den Text in einer Excel VBA Message Box zu markieren, ist es notwendig, eine Userform zu erstellen, da die Standard-MsgBox-Funktion keine Möglichkeit bietet, Text zu markieren oder zu kopieren. Folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle eine neue Userform:

    • Klicke im Projekt-Explorer mit der rechten Maustaste auf dein Projekt.
    • Wähle Einfügen > UserForm.
  3. Füge eine TextBox hinzu:

    • Wähle die TextBox aus der Toolbox und ziehe sie in die Userform.
    • Setze die MultiLine-Eigenschaft auf True, damit mehrzeiliger Text angezeigt werden kann.
  4. Füge den VBA-Code hinzu:

    • Nutze den folgenden Code, um den Text aus einer Zelle in die TextBox zu übertragen:
    Sub ShowUserForm()
       UserForm1.TextBox1.Text = Worksheets("Dein Tabellenblattname").Cells(z, 7).Value
       UserForm1.Show
    End Sub
  5. Führe das Makro aus: Rufe ShowUserForm auf, um die Userform anzuzeigen.


Häufige Fehler und Lösungen

  • TextBox bleibt leer: Stelle sicher, dass du den With-Block korrekt verwendest und dass der Punkt vor Cells gesetzt ist. Beispiel:

    UserForm1.TextBox1.Text = .Cells(z, 7).Value
  • TextBox hat nicht den richtigen Namen: Überprüfe, ob die TextBox tatsächlich TextBox1 heißt. Ändere den Namen in den Eigenschaften, falls nötig.

  • Excel VBA MsgBox zeigt keinen Text an: Wenn du die MsgBox verwendest, um den msg text anzuzeigen, achte darauf, dass du die Ausgabe in eine Userform umwandeln möchtest, um das Text markieren zu ermöglichen.


Alternative Methoden

Wenn du nicht mit einer Userform arbeiten möchtest, kannst du auch folgende Optionen in Betracht ziehen:

  • VBA Infobox: Erstelle eine benutzerdefinierte Form, die mehr Funktionen als eine einfache MsgBox bietet.
  • VBA Question Box: Verwende eine InputBox, um Eingaben zu ermöglichen, die anschließend verarbeitet werden können. Beachte jedoch, dass auch hier kein Text markiert werden kann.

Praktische Beispiele

Hier ist ein Beispiel, wie du eine Userform mit einer TextBox einrichtest, um excel text markieren zu ermöglichen:

Sub ShowInfoBox()
    UserForm1.TextBox1.Text = "Anlage " & Worksheets("Dein Tabellenblattname").Cells(z, 7).Value & " nicht gepflegt!"
    UserForm1.Show
End Sub

In diesem Beispiel wird der Text, den du in der Userform siehst, aus einer Zelle übernommen und kann durch die Benutzer markiert werden.


Tipps für Profis

  • Verwende MultiLine: Setze die MultiLine-Eigenschaft der TextBox auf True, um mehrzeiligen Text anzuzeigen.
  • Eingabefeld formatieren: Du kannst die TextBox so konfigurieren, dass sie den Formatierungen der Zelle entspricht.
  • Öffne die Userform in einem neuen Modul: Halte deinen Code organisiert, indem du separate Module für Userform-Logik und Hauptlogik verwendest.

FAQ: Häufige Fragen

1. Kann ich den Text in einer MsgBox markieren?
Nein, die Standard-MsgBox-Funktion erlaubt keine Textmarkierung. Nutze stattdessen eine Userform.

2. Wie kann ich einen Text aus einem anderen Blatt in die Userform übertragen?
Verwende den Punkt vor Cells, um sicherzustellen, dass du auf die richtige Zelle zugreifst:

UserForm1.TextBox1.Text = .Cells(z, 7).Value

3. Ist es möglich, eine Userform in Excel zu erstellen?
Ja, du kannst Userforms in Excel VBA erstellen, um interaktive Dialoge zu gestalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige