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

MsgBox - nur bestimmte Werte anzeigen

MsgBox - nur bestimmte Werte anzeigen
02.04.2022 20:49:58
Helene
Hallo,
im Beispiel werden in der MsgBox alle Wochentage angezeigt.
Kann man den Code so abändern, das nur die Wochentage angezeigt werden, wo die Anzahl in Spalte K:K größer als 0 ist? Im Beispiel wären das Mi mit 10 und Do mit 9!
Besten Dank für die Hilfe!
MfG Helene
Hier und noch der Code und eine Beispieldatei!

Option Explicit
Sub Test()
Dim Feier As Worksheet
Set Feier = Worksheets("Tabelle1")
MsgBox "Die Anwesenheitsliste ist fertig gestellt!" _
& vbCr & "" & vbCr & "" & "Folgende Wochentage kommen mindestens 1 mal vor: " _
& vbCr & "" & vbCr & "" & Feier.Cells(1, 10).Value & "  kommt  " & Feier.Cells(1, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(2, 10).Value & "  kommt  " & Feier.Cells(2, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(3, 10).Value & "  kommt  " & Feier.Cells(3, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(4, 10).Value & "  kommt  " & Feier.Cells(4, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(5, 10).Value & "  kommt  " & Feier.Cells(5, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(6, 10).Value & "  kommt  " & Feier.Cells(6, 11).Value & "  mal vor" _
& vbCr & "" & vbCr & "" & Feier.Cells(7, 10).Value & "  kommt  " & Feier.Cells(7, 11).Value & "  mal vor"
Set Feier = Nothing
End Sub
https://www.herber.de/bbs/user/152202.xlsm

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox - nur bestimmte Werte anzeigen
02.04.2022 21:24:30
Daniel
Hi
1. die Stringverkettung &"" kannst du weglassen. Wo hast du diesen Unsinn aufgeschnappt?
2. Sammler den Text zunächst in einer Stringvariablen. Dann kannst du den Text über mehrere Zeilen zusammenstellen und dabei entsprechende IF-Abfragen einbauen:

Dim Meldung AS String
Meldung = "Die Anwesenheitsliste ist fertiggestellt" & vbLF & vbLF
Meldung = Meldung & "folgende Tage kommen mindestens einmal vor:" & vbLF &vbLF
If Feier.Cells(1, 11) > 0 then Meldung = Meldung & Feier.Cells(1, 10) & " kommt " & Feier.Cells(1, 11) & " mal vor" & vbLF & vbLF
Msgbox Meldung
Die Zeile mit dem If wiederholst du dann für jede Zeile oder schreibt eine entsprechende FOR-Next-Schleife
Gruß Daniel
Anzeige
AW: MsgBox - nur bestimmte Werte anzeigen
02.04.2022 21:36:40
AlterDresdner
Hallo,
noch kürzer:

Sub Test()
Dim MsText As String, zeile As Long
With Worksheets("Tabelle1")
MsText = "Die Anwesenheitsliste ist fertig gestellt!"
For zeile = 1 To 7
MsText = MsText & IIf(.Cells(zeile, 11) > 0, vbLf & vbLf & .Cells(zeile, 10) & " kommt " & .Cells(zeile, 11) & " mal vor", "")
Next zeile
End With
MsgBox MsText
End Sub
Gruß der AlteDresdner
Perfekt! Danke Daniel und AlterDresdner
02.04.2022 21:45:12
Helene
AW: MsgBox - nur bestimmte Werte anzeigen
03.04.2022 16:09:12
Tobi@s
Hallo,
mein Kommentar hat nichts konkret mit der Frage zu tun.
Hier mal ein Tipp von mir, um manches mit Zeilenumbrüchen einfacher und übersichtlicher zu gestalten.
https://www.vbarchiv.net/tipps/details.php?id=756
Anzeige

344 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige