Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Bitte nochmal kurz Hilfe | Herbers Excel-Forum


Betrifft: Bitte nochmal kurz Hilfe von: Jockel
Geschrieben am: 29.01.2010 10:33:04

Hallo ,

bekam hier aus dem Forum mal dieses Beispiel. Ich will eine Spalte auf gleiche Einträge vergleichen. Das funktioniert soweit. Jetzt hatte ich nur das Problem, dass nicht alle Zellen dieser Spalte ausgefüllt waren, also, dass es auch mal leere Zellen gibt.

Bei einer leeren Zell soll narürlich keine Meldung kommen, sondern es sollen nur die vergleichen werden, die auch tatsächlich was beinhalten, also nicht leer sind.

Was muss ich denn da noch ändern ?
Danke Joachim

Dim b As Boolean
Dim i As Long
b = False
For i = 24 To 45

If Cells(i, 5) <> Cells(i + 1, 5) Then b = True
Next i
If b = True Then MsgBox "Unterschiedliche Währungen"

  

Betrifft: AW: Bitte nochmal kurz Hilfe von: Hajo_Zi
Geschrieben am: 29.01.2010 10:52:54

Hallo Jockel,

If Cells(i, 5) <> Cells(i + 1, 5) and cells(i,5)<>"" Then b = True

GrußformelHomepage


  

Betrifft: immer noch gleicher Effekt von: Jockel
Geschrieben am: 29.01.2010 11:05:10

Hallo Hajo,

da wird trotzdem eine Fehlermeldung (msgbox) ausgelöst. der Code funktioniert zwar, solange es keine leeren Zellen gibt, sprich, wenn sich zwischendrin ein anderer Eintrag befindet, kommt die msgbox, aber sobald eine leere Zelle dazwischen kommt und alle einträge gleich sind, kommt trotzdem die Meldung.

Ist im Prinzip wie vorher

Gruss
Joachim


  

Betrifft: AW: immer noch gleicher Effekt von: Hajo_Zi
Geschrieben am: 29.01.2010 11:15:59

Hallo Jockel,

Option Explicit

Sub Jockel()
    Dim b As Boolean
    Dim i As Long
    For i = 24 To 45
        If Cells(i, 5) <> Cells(i + 1, 5) And Cells(i + 1, 5) <> "" Then
            b = True
            Exit For
        End If
    Next i
    If b = True Then MsgBox "Unterschiedliche Währungen"
End Sub
Gruß Hajo


  

Betrifft: Danke Hajo owT von: Jockel
Geschrieben am: 29.01.2010 12:26:16




  

Betrifft: AW: Bitte nochmal kurz Hilfe von: hary
Geschrieben am: 29.01.2010 10:52:55

Hallo
teste mal so.

Dim b As Boolean
Dim i As Long
   b = False
      For i = 24 To 45
   If Cells(i, 5) = "" Or Cells(i + 1, 5) = "" Then GoTo weiter
   If Cells(i, 5) <> Cells(i + 1, 5) Then b = True
weiter:
   Next i
      If b = True Then MsgBox "Unterschiedliche Währungen"
End Sub

gruss hary


  

Betrifft: AW: Bitte nochmal kurz Hilfe von: Hajo_Zi
Geschrieben am: 29.01.2010 10:54:27

Hallo Harry,

goto ist ein Überbleibsel von Basic, damit wird Heute nicht mehr gearbeitet, da es den Code unübersichtlich macht.

Gruß Hajo