Excel VBA: Schleife, CurrentRegion und Range.Find-Methode
#11
Hallo snb,

ok  Huh??

Was machst Du da? Kannst Du mir ne kurze Erklärung geben?
Ich verstehe nur Bahnhof...

Vielen Dank,
Lutz
Top
#12
Ich arbeite mit Arrays : https://www.snb-vba.eu/VBA_Arrays_en.html
Und ein Dictionary: https://www.snb-vba.eu/VBA_Dictionary_en.html

indem ich die Interaktion mit den Arbeitsblättern minimiere.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#13
Hallo snb,

das habe ich gesehen, aber ich peils nicht...

Du liest die Blätter in Arrays ein.
Aber was schreibst Du ins Dictionary?
Code:
    For j = 6 To UBound(sn)
    .Item(sn(j, 1)) = Application.Index(sn, 1, 0)
    Next
Der Key ist die Kontonummer, aber was ist Application.Index(sn, 1, 0)?

Dann durchläufst Du die Kontoauszüge.
Aber was machst Du bei
Code:
      st = .Item(sp(j, 2))
      sp(j, 3) = st(6 + (y >= sp(j, 6)))
?
Du schreibst die jeweilige Kontonummer in die Variable st. Wenn die Zelle im Blatt "Kontoauszüge" keine Kontonummer ist, wird sie im Dictionary ergänzt.
Und dann? Was ist st(6 + (y >= sp(j, 6)))


Und wo prüfst Du auf den Begriff "Mietforderung"?

Vielen Dank für Deine Mühe,
Lutz
Top
#14
Ich hatte die eins ersetzen müssen vom j

Code:
Sub M_snb()
  sn = Sheets("Garagenmieter").Cells(1).CurrentRegion
  sp = Sheets("Kontoauszüge").Cells(1).CurrentRegion
  y = Sheets("Hilfstabelle").Cells(21, 2)
 
  With CreateObject("scripting.dictionary")
    For j = 6 To UBound(sn)
    .Item(sn(j, 1)) = Application.Index(sn, j, 0)
    Next

    For j = 5 To UBound(sp)
      st = .Item(sp(j, 2))
      sp(j, 3) = st(6 + (y >= sp(j, 6)))
    Next
  End With
 
  Sheets("Kontoauszüge").Cells(1).CurrentRegion = sp
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste