Probleme mit Schleife

Bild

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

Bild


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


Bild


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


 Bild

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