Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1464to1468
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 erweitern

MsgBox erweitern
19.12.2015 21:35:24
Erwin
Guten Abend,
mit nachfolgendem Marko wird eine MsgBox befüllt, wenn in Spalte A bestimmte falsche Nummernschilder enthalten sind:
Sub Nummernschilder()
txt_dummy = "In den nachfolgenden Zeilen sind falsche Nummernschilder enthalten: "
Set ws = ActiveSheet
letzteZeile = ws.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zeile = 7 To letzteZeile
If ws.Cells(zeile, 1)  "PA" _
And ws.Cells(zeile, 1)  "FRG" _
And ws.Cells(zeile, 1)  "CHA" _
And ws.Cells(zeile, 1)  "LA" _
And ws.Cells(zeile, 1)  "" Then
txt_dummy = txt_dummy & zeile & ", "
ws.Range(Cells(zeile, 1), Cells(zeile, 26)).Interior.Color = 49407 'Zeile markieren
End If
Next zeile
MsgBox txt_dummy & Chr(10) & "Die Zeilen wurden orange markiert.", vbInformation, "Fehlerzeilen" _
End Sub
Wenn jetzt aber keine falschen Nummernschilder in Spalte A sind, kommt trotzdem eine verkorkste Meldung.
Ich möchte gerne, dass dann keine Fehlermeldung kommt.
Danke im Voraus - Erwin

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

Betreff
Datum
Anwender
Anzeige
AW: MsgBox erweitern
19.12.2015 22:25:27
Werner
Hallo Erwin,
setzte mal deine Message-Box vor das End If
Gruß Werner

AW: MsgBox erweitern
19.12.2015 22:33:54
Erwin
Hallo Werner,
jetzt erscheint für jede falsche Zeile eine eigene Meldung, nicht mehr eine einzige Meldung mit allen fehlerhaften Zeilen hintereinander weg.
Wenn kein falscher Datensatz enthalten ist, kommt auch kein Fehler mehr, das klappt.
Kann man das jetzt wieder so ändern, dass nur eine einzige Fehlermeldung mit allen falschen Zeilen erfolgt?
Grüße - Erwin

AW: MsgBox erweitern
19.12.2015 23:33:11
Werner
Hallo Erwin,
Versuch mal
Sub Nummernschilder()
Dim Schalter AS Boolean
Schalter = False
txt_dummy = "In den nachfolgenden Zeilen sind falsche Nummernschilder enthalten: "
Set ws = ActiveSheet
letzteZeile = ws.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zeile = 7 To letzteZeile
If ws.Cells(zeile, 1)  "PA" _
And ws.Cells(zeile, 1)  "FRG" _
And ws.Cells(zeile, 1)  "CHA" _
And ws.Cells(zeile, 1)  "LA" _
And ws.Cells(zeile, 1)  "" Then
txt_dummy = txt_dummy & zeile & ", "
ws.Range(Cells(zeile, 1), Cells(zeile, 26)).Interior.Color = 49407 'Zeile markieren
Schalter = True
End If
Next zeile
If Schalter = True Then
MsgBox txt_dummy & Chr(10) & "Die Zeilen wurden orange markiert.", vbInformation, " _
Fehlerzeilen" _
End If
Schalter = False
End Sub
Gruß Werner

Anzeige
AW: MsgBox erweitern
19.12.2015 23:26:55
Sepp
Hallo Erwin,
hältst wohl nichts von Variablendeklaration!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Nummernschilder()
Dim objWS As Worksheet
Dim lngRow As Long
Dim strMsg As String
Dim varContent As Variant

varContent = Array("CHA", "FRG", "LA", "PA")

Set objWS = ActiveSheet

With objWS
  For lngRow = 7 To objWS.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    If Not IsNumeric(Application.Match(.Cells(lngRow, 1), varContent, 0)) And _
      .Cells(lngRow, 1) <> "" Then
      strMsg = strMsg & lngRow & ", "
      .Range(.Cells(lngRow, 1), .Cells(lngRow, 26)).Interior.Color = 49407 'Zeile markieren
    End If
  Next
End With

If Len(strMsg) Then
  strMsg = "In den nachfolgenden Zeilen sind falsche Nummernschilder enthalten: " & _
    vbLf & vbLf & strMsg & vbLf & "Die Zeilen wurden orange markiert."
  
  MsgBox strMsg, vbInformation, "Fehlerzeilen"
End If

Set objWS = Nothing
End Sub

Gruß Sepp

Anzeige
AW: MsgBox erweitern
19.12.2015 23:37:20
Erwin
Hallo Sepp,
wieder einmal super!
Wegen dem Hinweis zur Variablendeklaration, da hast du Recht; hatte mir den Code aus dem Forum zusammengebastelt und mit meinem Können hat es halt nicht so geklappt :(
Danke und jetzt schon mal schöne Weihnachten sowie einen guten Rutsch ins Neue Jahr an ALLE
Erwin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige