Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1740to1744
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

Genereller Titelname bei mehreren MsgBox

Genereller Titelname bei mehreren MsgBox
25.02.2020 12:37:02
Dieter(Drummer)
Guten Tag VBa Spezialisten/innen.
In einem Code werden unterschiedliche MsgBoxen aufgerufen.
Ich suche eine VBA Lösung, um jeder MsgBox denselben Titelnamen zu geben, um nicht in jeder MsgBox Zeile am Ende den Titelnamen setzen zu müssen.
Mit z.B.

Dim MsgBox Title = "xyz"
geht es wohl nicht.
Mit der Bitte im Hilfe, grüßt
Dieter(Drummer)

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 12:41:12
ChrisL
Hi Dieter
z.B. so...
Sub t()
Call MsgSpezial("Hallo Welt")
End Sub

Sub tt()
Call MsgSpezial("noch ein Beispiel")
End Sub
Sub MsgSpezial(strText As String)
MsgBox strText, , "immer den gleichen Titel"
End Sub

cu
Chris
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 12:53:50
Dieter(Drummer)
Danke Chris, aber das funktioniert leider nicht.
Gruß Dieter(Drummer)
das funktioniert schon owT.
25.02.2020 13:02:09
ChrisL
.
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 12:44:16
Nepumuk
Hallo Dieter,
in einem Standardmodul:
Option Explicit

Public Const MsgBoxTitle As String = "ABC"

Public Sub Test()
    MsgBox "Hallo", vbExclamation, MsgBoxTitle
End Sub


Gruß
Nepumuk
Anzeige
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 12:56:52
Dieter(Drummer)
Hallo Nepumuk,
das funtioniert nicht so ganz. Evtl. hast Du noch eine Lösung.
Hier mal mein ganzer Code:
Public Const MsgBoxTitle As String = "ABC"
Sub Rahmen_Linie_Namen_auslesen()
MsgBox "LyneStyle", vbExclamation, MsgBoxTitle
Select Case Selection.Borders.LineStyle
Case 1
MsgBox "xlContinuous" & vbLf & "Wert: 1"
Case 4
MsgBox "xlDashDot" & vbLf & "Wert: 4"
Case 5
MsgBox "xlDashDotDot" & vbLf & "Wert: 5"
Case -4115
MsgBox "xlDash" & vbLf & "Wert: -4115"
Case -4118
MsgBox "xlDot" & vbLf & "Wert: -4118"
Case -4119
MsgBox "xlDouble" & vbLf & "Wert: -4119"
Case -4142
MsgBox "xlLineStyleNone" & vbLf & "Wert: -4142"
End Select
End Sub
Gruß, Dieter(Drummer)
Anzeige
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 13:05:40
Regina
Hi,
so würde das aussehen:
Public Const MsgBoxTitle As String = "ABC"
Sub Rahmen_Linie_Namen_auslesen()
Select Case Selection.Borders.LineStyle
Case 1
MsgBox "xlContinuous" & vbLf & "Wert: 1" , vbExclamation, MsgBoxTitle
Case 4
MsgBox "xlDashDot" & vbLf & "Wert: 4", vbExclamation, MsgBoxTitle
Case 5
MsgBox "xlDashDotDot" & vbLf & "Wert: 5", vbExclamation, MsgBoxTitle
Case -4115
MsgBox "xlDash" & vbLf & "Wert: -4115", vbExclamation, MsgBoxTitle
Case -4118
MsgBox "xlDot" & vbLf & "Wert: -4118", vbExclamation, MsgBoxTitle
Case -4119
MsgBox "xlDouble" & vbLf & "Wert: -4119" , vbExclamation, MsgBoxTitle
Case -4142
MsgBox "xlLineStyleNone" & vbLf & "Wert: -4142" , vbExclamation, MsgBoxTitle
End Select
End Sub
Du musst den Titel bei jedem Aufruf angeben, anders geht das nicht.
Gruß Rgeina
Anzeige
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 13:14:57
Dieter(Drummer)
Danke Regina,
das funktioniert, aber ist nicht das, was ich suchte. Es sollte ja nicht mehr hinter jeder Codezeile, jetzt ", MsgBoxTitle" angehängt werden. Dann könnte ich auch den Titelnamen dort eingeben.
Ich dachte daran, dass der Titelname nicht mehr hinten angehangen werden müsste.
Vielleicht gibts ja noch eine Lösung, sonst muss ich es halt normal hinten anhängen.
Danke für Deine erneute Hilfe.
Gruß, Dieter(Drummer)
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 13:17:44
Regina
... also mir ist keine Methode bekannt, mit der man der MsgBox quasi einen "Dauerparameterwert" mitgeben kann. Dann müsste man wohl mit einem UserForm "draufhauen". Aber, ob das den Aufwand wert ist?
Gruß
Regina
Anzeige
AW: Genereller Titelname bei mehreren MsgBox
25.02.2020 13:24:47
Dieter(Drummer)
Danke Regina,
für Deine Info und Hilfe. Dann gebe ich es halt, wie für MsgBoxen gewohnt, hinten dran und ist kein Problem.
Gruß und einen erfreulichen Tag.
Dieter(Drummer)
AW: Nur zur Kenntnis, Regina ...
25.02.2020 14:01:27
Dieter(Drummer)
... hier mein jetziger Code, den mit Deiner Hilfe (Danke) erstellen konnte:
Gruß, Dieter(Drummer)
'Herber: von Regina Resch-Jansen am 24.02.2020 18:47:54
Sub Rahmen_Linie_Namen_auslesen()
Select Case Selection.Borders.LineStyle
Case 1
MsgBox "xlContinuous" & vbLf & "Wert: 1", 64, "LyneStyle"
Case 4
MsgBox "xlDashDot" & vbLf & "Wert: 4", 64, "LyneStyle"
Case 5
MsgBox "xlDashDotDot" & vbLf & "Wert: 5", 64, "LyneStyle"
Case -4115
MsgBox "xlDash" & vbLf & "Wert: -4115", 64, "LyneStyle"
Case -4118
MsgBox "xlDot" & vbLf & "Wert: -4118", 64, "LyneStyle"
Case -4119
MsgBox "xlDouble" & vbLf & "Wert: -4119", 64, "LyneStyle"
Case -4142
MsgBox "xlLineStyleNone" & vbLf & "Wert: -4142", 64, "LyneStyle"
End Select
End Sub

Anzeige
AW: Nur zur Kenntnis, Dieter
25.02.2020 14:24:51
Nepumuk
Hallo Dieter,
LyneStyle LineStyle
:-)
Gruß
Nepumuk
AW: Top! Du hast natürlich Recht ...
25.02.2020 14:41:44
Dieter(Drummer)
... Danke Dir und einen erfreulichen Tag.
Gruß, Dieter(Drummer)
PS Bastle jetzt am Code, der alle Rahmeninfos, Name, Wert, Farbnummer, evtl auch Farbname, etc. über eine MsgBox zeigt. Es macht Spass so etwas zu machen und es ist immer wieder toll, wie hier im Forum einem Hilfe gegeben wird.
:-)
AW: Noch eine Frage, wenn ein Rahmen fehlt
25.02.2020 15:18:47
Dieter(Drummer)
Hallo Regina,
hast Du evtl. auch eine Lösung in dem Code, den Du mir gegeben hast, wenn z.B. nicht alle Linien in der Zelle gesetzt sind. Mit ist aufgefallen, wenn z.B. in der Zelle der linke Rahmen nicht gestzt ist, dass dann der Code nichts zeigt. Könnte natürlich auch eine fehlende Linie oben, rechts oder links sein.
Gibt es da eine Lösung, dass dann eben nur die Linien angegeben werde, die gsetzt sind?
Ich hoffe ich nerve nicht und es wäre schön, wenn es da auch eine Lösung gibt.
Gruß, Dieter(Drummer)
Hier nochmal mein jetziger Code:
'Herber: von Regina Resch-Jansen am 24.02.2020 18:47:54
Sub Rahmen_Linie_Namen_auslesen()
Select Case Selection.Borders.LineStyle
Case 1
MsgBox "xlContinuous" & vbLf & "Wert: 1", 64, "LineStyle"
Case 4
MsgBox "xlDashDot" & vbLf & "Wert: 4", 64, "LineStyle"
Case 5
MsgBox "xlDashDotDot" & vbLf & "Wert: 5", 64, "LineStyle"
Case -4115
MsgBox "xlDash" & vbLf & "Wert: -4115", 64, "LineStyle"
Case -4118
MsgBox "xlDot" & vbLf & "Wert: -4118", 64, "LineStyle"
Case -4119
MsgBox "xlDouble" & vbLf & "Wert: -4119", 64, "LineStyle"
Case -4142
MsgBox "xlLineStyleNone" & vbLf & "Wert: -4142", 64, "LineStyle"
End Select
End Sub

Anzeige
AW: Noch eine Frage, wenn ein Rahmen fehlt
25.02.2020 16:26:48
Rudi
Hallo,
das ist immer der Fall, wenn die Selection unterschiedliche Rahmen hat. Dann wird LineStyle=Null.
Da bleibt dir nichts anderes übrig, als alle (xlEdgeTop, xlEdgeBottom, ...) abzufragen.
Gruß
Rudi
AW: Danke Rudi für Info, dann gehts ...
25.02.2020 16:36:05
Dieter(Drummer)
... halt nur so.
Gruß und einen erfreulichen Abend,
Max
noch als Anregung:
25.02.2020 16:40:03
Rudi
Hallo,
Sub TestLS()
Dim strLS As String, intLS
intLS = Selection.Borders.LineStyle
MsgBox "LineStyle: " & MyLineStyle(intLS) & vbLf & "Wert: " & intLS, , "LineStyle"
End Sub
Function MyLineStyle(ByVal intLS)
Select Case intLS
Case 1:     MyLineStyle = "xlContinuous"
Case 4:     MyLineStyle = "xlDashDot"
Case 5:     MyLineStyle = "xlDashDotDot"
Case 13:    MyLineStyle = "xlSlantDashDot"
Case -4115: MyLineStyle = "xlDash"
Case -4118: MyLineStyle = "xlDot"
Case -4119: MyLineStyle = "xlDouble"
Case -4142: MyLineStyle = "xlLineStyleNone"
Case Else:  MyLineStyle = "Verschiedene Rahmen"
End Select
End Function

Gruß
Rudi
Anzeige
AW: noch als Anregung:
25.02.2020 16:53:29
Dieter(Drummer)
Danke erstmal Rudi für bisherige Hilfe.
Wenn ich es so in meinen Cod ensetzte, werden aber die restlichen Linien, die vorhanden sind, auch nicht angezeigt. Die linke Linie in der Zelle hatte ich mal zum Testen entfernt. Was mach ich falsch?
Gezeigt wird, wenn z.B. linke Linue fehlt: Die MsgBox mit Inhalt Text "LineStyle: Verschiedene Rahmen, Wert:". Das wars.
Code Anfang:
Sub Rahmen_Linie_Namen_auslesen()
Call TestLS
Select Case Selection.Borders.LineStyle
Case 1
MsgBox "xlContinuous" & vbLf & "Wert: 1", 64, "LineStyle"
usw.
Gruß, Dieter(Drummer)
Anzeige
darum ging es auch nicht
25.02.2020 21:23:54
Rudi
Hallo,
damit ist zumindest dein Ursprungsproblem mit dem MsgBoxTitle gelöst/ umgangen.
Das Problem unterschiedlicher Rahmen kannst du nur lösen, indem du alle Rahmen analysierst.
Aber du machst das ja nur aus Spaß an der Freud, wenn ich das richtig verstanden habe.
Weitere ungetestete Anregung:

Sub TestLS()
Dim strLS As String, intLS, arrBorderIndex(5 To 12), i
arrBorderIndex(5) = "DiagonalDown"
arrBorderIndex(6) = "DiagonalUp"
arrBorderIndex(7) = "DiagonalLeft"
'etc bis 12; siehe Objektkatalog "xlborderindex"
For i = LBound(arrBorderIndex) To UBound(arrBorderIndex)
intLS = Selection.Borders(i).LineStyle
MsgBox "LineStyle " & arrBorderIndex(i) & ": " & MyLineStyle(intLS) & vbLf & "Wert: " &  _
intLS, , "LineStyle"
Next i
End Sub
Gruß
Rudi
Anzeige
AW: Danke Rudi, damit komme ich ...
26.02.2020 09:00:51
Dieter(Drummer)
Hallo Rudi,
... weiter. Du ahs vollkommen Recht, dass es für mich darum geht, wie und ob es funktioniert.
Nicht alles im Leben hat einen Sinn ... macht aber Spaß ...
Danke Dir für unermüdliche Hilfe und Sorry, für späte Rückmeldung.
Gruß, Dieter(Drummer)
AW: Hie mal eine Musterdatei mit auch deinem Code
25.02.2020 16:59:59
Dieter(Drummer)
Hallo Rudi,
hier meine neue Musterdatei, evtl. kannst Du mir da auf die Sprünge helfen:
https://www.herber.de/bbs/user/135434.xlsm
Gruß, Dieter(Drummer)
braucht doch kein Mensch diesen Schmarrn...
25.02.2020 19:04:31
robert
AW: Ihren Sermon erst Recht nicht!
25.02.2020 19:45:56
Dieter(Drummer)
...
Sermon-Dein einziges Fremdwort ?
26.02.2020 19:05:16
robert
sehr bescheiden- ebenso wie Dein VBA
Schmarrn oder nicht Schmarrn, ...
25.02.2020 21:26:43
Rudi
solange er seinen Spaß hat, ist's OK.
Nicht alles muss Sinn haben.
Siehe deine sinnfreien Kommentare.
ja, ich weiß, ....
25.02.2020 21:38:08
Rudi
....Trolle nicht füttern
AW: Hie mal eine Musterdatei mit auch deinem Code
25.02.2020 19:47:45
Regina
Hi,
so recht kann ich den Sinn dahinter auch nicht sehen, aber so könntest Du vorgehen (Ansatz):
'Herber: von Rudi Maintaire am 25.02.2020 16:40:03
Sub TestLS()
Dim strLS As String, intLS As Variant
Dim str_borders As String
intLS = Selection.Borders.LineStyle
If IsNull(intLS) Then
If Selection.Borders(xlEdgeRight).LineStyle = xlContinuous Then
str_borders = "rechts, "
End If
If Selection.Borders(xlEdgeTop).LineStyle = xlContinuous Then
str_borders = str_borders & "oben, "
End If
MsgBox str_borders
Else
MsgBox "LineStyle: " & MyLineStyle(intLS) & vbLf & "Wert: " & intLS, , "LineStyle"
End If
End Sub
Du müsstest allerdings bei allen Linien (oben, unten, rechts, links) alle möglichen Rahmenarten abfragen.... Wozu der Aufwand? Heißt: Wozu brauchst Du das?
Gruß
Regina
AW: Danke Regina, damit kann ich auch ...
26.02.2020 09:09:18
Dieter(Drummer)
... weiter machen.
Ich brauche es für mich, um zu sehen ob und wie es möglich ist.
Nicht alles im Leben hat Sinn ... aber es macht Spaß ...
Danke auch Dir für mehrfach Hilfe und Sorry für späte Rückmeldung.
Gruß und einen friedlichen Tag,
Dieter(Drummer)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige