AW: Ausprobiert - zusätzliche Frage
Ramses
Hallo
Prinzipiell würde ich die Variable "myDocument" nicht so verwenden, ist nicht lesefreundlich und impliziert etwas anderes, nämlich dass es sich um ein Document handelt und nicht um eine Nachrichtenbox
kopier mal den Code
Option Explicit
'Modul Übergreifende Variablen
Public myMsgBox As Object
Sub test()
'Message am Bildschirm zeigen
Draw_msg
'anhalten zum kucken :-)
MsgBox "stop"
'sonstiger Code
'Nachricht löschen
myMsgBox.Delete
End Sub
Function Draw_msg()
Dim L As Double, T As Double, W As Double, H As Double
W = 600
H = 50
L = Round((Application.Width - W) / 1.5, 0)
T = Round(Application.Height / 2, 0)
Set myMsgBox = ActiveSheet.Shapes.AddShape(msoShapeRectangle, L, T, W, H)
With myMsgBox
.Name = "Nachricht"
.Fill.ForeColor.SchemeColor = 22
.TextFrame.Characters.Text = "Bitte warten, übernehme die Daten aus dem Internet"
.TextFrame.VerticalAlignment = xlVAlignCenter
.TextFrame.HorizontalAlignment = xlHAlignCenter
.DrawingObject.RoundedCorners = msoTrue
.DrawingObject.Font.Bold = -1
.DrawingObject.Font.ColorIndex = 1
.DrawingObject.Font.Size = 22
.DrawingObject.Font.FontStyle = "Fett"
End With
End Function
Was du mit "Set BVI = ..." willst weiss ich nicht, das kommt ja in dem Code-Segment nicht mehr vor, deshalb habe ich es weggelassen. Die Variable "myMsgBox" bezieht sich ja sowieso schon auf das aktuelle Tabellenblatt.
Die Funktion selbst und die Variablendeklaration gehören in ein eigenes Modul.
Gruss Rainer