Microsoft Excel

Herbers Excel/VBA-Archiv

Zählmakro !

    Betrifft: Zählmakro ! von: Dari
    Geschrieben am: 28.08.2003 10:44:45

    Hallo, Zusammen,

    ich bekam hier im Forum folgendes Makro:

    'Auswertung
    iCount = Range("A65536").End(xlUp).Row

    For iEinheit = 1 To 5
    For iAnzahl = 9 To iCount
    If Right(Cells(iAnzahl, 1), 1) = iEinheit Then
    iErgebnis = iErgebnis + 1
    End If
    Next
    Sheets("Auswertung").Cells(iEinheit, 2) = iErgebnis
    iErgebnis = 0
    Next

    Das Makro zählt alle Endungen _ 1 bis _4 und gibt sie aus:

    _1 = 15
    _2 = 56
    _3 = 37
    _4 = 12

    Nun müßte ich das Makro erweitern um die Endung _0. Kann mir da jemand helfen ?
    Außerdem bräuchte ich noch einen Tip für eine Befehlszeile = Wenn keine nummerische Endung >>> dann ignorieren. Bis jetzt stürzt das Makro ab (Laufzeitfehler).

    Gruß
    Dari

      


    Betrifft: AW: Zählmakro ! von: Andreas Walter
    Geschrieben am: 28.08.2003 11:12:10


    'Auswertung
    iCount = Range("A65536").End(xlUp).Row
    ON ERROR RESUME NEXT ' FEHLERHANDHABUNG
    For iEinheit = 0 To 5 ' von NULL bis FÜNF (DU SAGTEST ÜBRIGENS VIER)
    For iAnzahl = 9 To iCount
    If Right(Cells(iAnzahl, 1), 1) = iEinheit Then
    iErgebnis = iErgebnis + 1
    End If
    Next
    Sheets("Auswertung").Cells(iEinheit+1, 2) = iErgebnis 'ALLES UM EINS NACH UNTEN
    iErgebnis = 0
    Next


      


    Betrifft: Vielen Dank ! von: Dari
    Geschrieben am: 28.08.2003 12:41:49

    Vielen, Dank hat funktioniert.

    Eine Frage noch am Rande. Dieses
    ON ERROR RESUME NEXT
    kann ich das auch hier einfügen

    Set wks = Worksheets("Tabelle1")
    lgRow = 9
    lgZiel = 1
    iCount = 1
    Do
    If Right(Cells(lgRow + 1, 1), 1) < Right(Cells(lgRow, 1), 1) Then
    wks.Cells(lgZiel, 1) = "Einzelsubstrat " & lgZiel
    wks.Cells(lgZiel, 2) = iCount
    lgZiel = lgZiel + 1
    iCount = 0
    End If

    iCount = iCount + 1
    lgRow = lgRow + 1

    Loop Until IsEmpty(Cells(lgRow, 1))

    Was mir auffällt, ist das es hier kein NEXT hat. Geht das trotzdem ? Ich probiers mal aus

    Gruß
    Dari


      


    Betrifft: AW: Vielen Dank ! von: Andreas Walter
    Geschrieben am: 28.08.2003 17:11:11

    ON ERROR RESUME NEXT
    bedeutet - wenn ein Fehler vorkommt - ignorieren und geh zum NÄCHSTEN Befehl und hat nichts mit einem NEXT als Ende von einer Schleife zu tun

    So was steht auch in der Hilfe