Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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
Antworten 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
Antworten Top


Gehe zu:


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