Microsoft Excel

Herbers Excel/VBA-Archiv

Probleme mit Schleife

    Betrifft: Probleme mit Schleife von: vidin
    Geschrieben am: 05.10.2003 02:33:14

    Hallo Leute,
    ich hoffe ihr koennt mir helfen. Ich habe ein Skript geschrieben, welches eine Rechnung durchlaueft und dann jeweils anhand der Artikelnr. in einem separaten Sheet mit den Artikeln nachschaut. Wenn jeweils abrechnen gedrueckt wird, soll das Skript ablaufen und die Zaehler in der Artikeldatenbank jeweils dekrementieren. Ist eigentlich ziemlich trivial, aber ich hab keine Ahnung wie ich das soll :)

    Es kommt bei Eingang der Schleife jeweils der Fehler "Laufzeitfehler 13 - Typen unvertraeglich" in der Zeile
    => Do While Range("A" + intRowInRechnung).Value <> ""

    Wenn ich anstatt inRowInRechnung eine einfache Integerzahl einsetze klappt die Sache schon, aber das ist ja nicht was ich will. Ok, hier das ganze Skript:

    Sub abrechnen()
    
    'Anfang der Rechnung auswaehlen
    Range("A15").Select
    
    'In der Artikeldatenbank nach der akt. Artikelnr. suchen
       Dim intRowInArtikel As Integer
       Dim intRowInRechnung As Integer
       Dim intArtikelNr As Integer
       Dim intArtikelAnz As Integer
       Dim found As Boolean
       
       intRowInRechnung = 15
       intRowInArtikel = 5
        
        Do While Range("A" + intRowInRechnung).Value <> ""
          found = False
          Range("A" + intRowInRechnung).Select
          intArtikelNr = ActiveCell.Value
          intArtikelAnz = ActiveCell.Offset(0, 2).Value
          
          Do While Range("A" + intRowInArtikel).Value <> "" And (Not found)
          
          If Range("A" + intRowInArtikel).Value = intArtikelNr Then
          ActiveCell.Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value - intArtikelAnz
          found = True
          End If
          
          intRowArtikel = intRowArtikel + 1
          Loop
          
          intRowRechnung = intRowRechnung + 1
       Loop
    
    End Sub
    

      


    Betrifft: AW: Probleme mit Schleife von: Reinhard
    Geschrieben am: 05.10.2003 03:20:49

    Hi vidin,
    haste in Do While Range("A" + intRowInRechnung).Value ...
    das + mal durch & ersetzt?
    Gruß
    Reinhard


      


    Betrifft: AW: Probleme mit Schleife von: Hans W. Hofmann
    Geschrieben am: 05.10.2003 09:39:16

    Mal was ganz anderes. Wieso erfindest Du das Rad neu?
    Zum Suchen gibt es eine entsprechende Methode .Find und
    auch Tabellenfunktionen .Match usw.
    Achja noch was .Select ist gaaanz schlecht, besser:
    Dim Suchbereich as Range
    ...
    Set Suchbereich = Range("A:A")
    Do while Suchbereich(intRowInRechnung)<>""
    ...
    Und erzähl doch mal die ganze Geschichte. Was ist mit welchem Zähler?

    Gruß HW


     

    Beiträge aus den Excel-Beispielen zum Thema " Probleme mit Schleife"