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

Text für MSG BOX zu groß --> User Form?

Text für MSG BOX zu groß --> User Form?
12.12.2018 09:39:08
Marco
Hallo zusammen,
ich habe ein Problem das meine Fähigkeiten weit übersteigt. Ich bin in VBA ungefähr so fit wie Google.
Ich habe aus dem Web SUbs, die automatisch "Info-Boxen" erstellen:
1. Wenn eine Zelle Sheets "Baukasten" BQ1:BQ350 nicht leer ist, dann wird auf einem anderen Blatt "SP1" in AQ1:AQ350 eine MSG-Box erstellt, welche beim anklicken den Text aus Bauksten BQ anzeigt. Jedoch sprenge ich den Rahmen von wohl 1023 zeichen.
Als Lösung wird im Forum eine "Userform" diskutiert (z.b. hier: https://www.herber.de/forum/archiv/1024to1028/1024183_msgbox_mit_mehr_als_1024_Zeichen.html
oder auch http://www.office-loesung.de/ftopic507396_0_0_asc.php).
Jedoch bekomme ich das nicht zusammengestellt.
Ist jemand so nett mich zu retten?
Datei anbei.

Sub Schaltfläche_SP1_Prüfhinweise()
Dim lngX As Long, lngY As Long
Sheets("sp1").Select
For i = 100 To 142
If Sheets("Baukasten").Cells(i, 69).Value  "" Then
'hier anpassen
lngY = 43 'Hier anpassen
lngX = i
With Cells(lngX, lngY)
'Hier anpassen                                                              'Hier anpassen
prcAddShape_Prüfhinweise .Left + .Width * 0.25, .Top + .Height * 0.05, .Width * 0.5, " _
theAction_fragen_prüfhinweise", lngX
End With
End If
Next i
End Sub
Sub prcAddShape_Prüfhinweise(x_ As Double, y_ As Double, size_ As Double, OnACtion_ As String,   _
_
zeile As Long) _
'hier anpassen
Dim objShp As Shape
Set objShp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, x_, y_, size_, size_)
With objShp
.Name = "Hilfebutton_" & zeile
.Fill.ForeColor.RGB = RGB(180, 180, 180)
.Line.ForeColor.RGB = RGB(55, 132, 76)
.Line.Weight = 2
.OnAction = OnACtion_
End With
Set objShp = Nothing
End Sub
Sub theAction_fragen_prüfhinweise()
'hier anpassen
Dim i As Long
i = Split(Application.Caller, "_")(1)
MsgBox Sheets("Baukasten").Cells(i, 69).Value
'hier anpassen.
End Sub
https://www.herber.de/bbs/user/126039.xlsm
Vielen Dank für eure Hilfe,
mit besten Grüßen
Marco

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text für MSG BOX zu groß --> User Form?
12.12.2018 12:33:15
Karl-Heinz
Hallo Marco,
ersetze Deine MsgBox einfach durch dieses hier (ungetestet):
CreateObject("WScript.Shell").Popup Sheets("Baukasten").Cells(i, 69).Value
, 0, "Microsoft Excel", vbOKOnly

viele Grüße
Karl-Heinz Voltmann
AW: Text für MSG BOX zu groß --> User Form?
12.12.2018 12:48:01
Marco
Hallo Karl-Heinz,
vielen Dank für deine Antwort. Es funktioniert (so gut, dass sogar ich es kann; ich poste den Code gleich (für andere laien wie mich)).
Eine Frage noch...kann ich den User zwingen dieses Fenster wieder schließen zu müssen, bevor er weiter machen kann? Sonst sind nach 2 Minuten 10 Fenster auf :-(
Auf jeden Fall vielen vielen Dank bis hierhin.
Marco
Anzeige
AW: Text für MSG BOX zu groß --> User Form?
12.12.2018 12:48:03
Marco
Hallo Karl-Heinz,
vielen Dank für deine Antwort. Es funktioniert (so gut, dass sogar ich es kann; ich poste den Code gleich (für andere laien wie mich)).
Eine Frage noch...kann ich den User zwingen dieses Fenster wieder schließen zu müssen, bevor er weiter machen kann? Sonst sind nach 2 Minuten 10 Fenster auf :-(
Auf jeden Fall vielen vielen Dank bis hierhin.
Marco
AW: Text für MSG BOX zu groß --> User Form?
12.12.2018 13:23:51
Karl-Heinz
Hallo Marco,
gut, dass es in Deinem Sinne funktioniert.
Bei mir wartet die Funktion, bis die Taste gedrückt wurde. Erst dann geht es weiter, da wunder ich mich, dass da jetzt mehrere aufgehen sollen.
Allerdings hatte ich das nicht in Deinem Umfeld getestet und kenne die Funktion auch nicht umfänglich.
viele Grüße
KH
Anzeige
AW: Text für MSG BOX zu groß --> User Form?
12.12.2018 13:56:54
Marco
Ok, danke auf jeden Fall für die tolle Lösung.
Bei mir wartet das Fenster auch, jedoch kann ich weitere öffnen.
Vielleicht hat ja jemand noch eine Idee hierzu.
Für alle die es interessiert, hier meine Prozedur in 3 Schritten.

Sub Schaltfläche_SP1_Prüfhinweise()
Dim lngX As Long, lngY As Long
Sheets("sp1").Select
For i = 100 To 142
If Sheets("Baukasten").Cells(i, 69).Value  "" Then
'hier anpassen
lngY = 43 'Hier anpassen
lngX = i
With Cells(lngX, lngY)
'Hier anpassen                                                              'Hier anpassen
prcAddShape_Prüfhinweise .Left + .Width * 0.25, .Top + .Height * 0.05, .Width * 0.5, " _
theAction_fragen_prüfhinweise", lngX
End With
End If
Next i
End Sub
Sub prcAddShape_Prüfhinweise(x_ As Double, y_ As Double, size_ As Double, OnACtion_ As String,  _
zeile As Long) _
'hier anpassen
Dim objShp As Shape
Set objShp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, x_, y_, size_, size_)
With objShp
.Name = "Hilfebutton_" & zeile
.Fill.ForeColor.RGB = RGB(180, 180, 180)
.Line.ForeColor.RGB = RGB(55, 132, 76)
.Line.Weight = 2
.OnAction = OnACtion_
End With
Set objShp = Nothing
End Sub
Sub theAction_fragen_prüfhinweise()
'hier anpassen
Dim i As Long
i = Split(Application.Caller, "_")(1)
CreateObject("WScript.Shell").Popup Sheets("Baukasten").Cells(i, 69).Value, 0, "Microsoft  _
Excel", vbOKOnly
'hier anpassen.
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige