Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Array binnen "For...Next..."-loop leegmaken voor elke nieuwe ronde.  (gelezen 930 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Array binnen "For...Next..."-loop leegmaken voor elke nieuwe ronde.
« Gepost op: 19 november 2021, 14:56:15 »
Hallokes iedereen,

Volgende code-blokje heb ik binnen een "For... Next..."-loop (die elke rij doorloopt) staan in een werkblad-macro.
De waarden in Array "arVarnrs" worden weggeschreven naar een ander werkblad.

'----- converteer de voornamen naar hun "Latijnse" vorm
        Dim arVarnrs()
        nrs = Array(voornaam, vdrvoornaam, mdrvoornaam)
        For a = 0 To 2
            tekst = nrs(a)
            naam = WorksheetFunction.Trim(tekst)
            n = Split(naam, " ")
            For j = 0 To UBound(n)
                With Sheets("vnvarianten").Rows("1:50")
                    On Error Resume Next
                    c = ""
                    c = .Find(n(j), LookIn:=xlValues, LookAt:=xlWhole).Column
                    n(j) = .Cells(1, c)
                End With
            Next j
            varnaam = Join(n, " ")
            ReDim Preserve arVarnrs(b)
            arVarnrs(b) = varnaam
            b = b + 1
        Next a

Hoe kan ik er nu voor zorgen dat "arVarnrs" bij het inlezen van de volgende rij (dus na het wegschrijven van de waarden in het tweede werkblad) opnieuw leeg is?

Alvast dank op voorhand.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Array binnen "For...Next..."-loop leegmaken voor elke nieuwe ronde.
« Reactie #1 Gepost op: 19 november 2021, 15:26:49 »
Je kan denken aan zoiets:
Er zijn meerdere manieren maar dit is versimpeld voorbeeld, passend bij jouw code.

Sub jec()
 Dim ar()
 For j = 1 To 5
    For i = 1 To 5
      ReDim Preserve ar(x)
       ar(x) = j + i
       x = x + 1
    Next
   MsgBox Join(ar)
   Erase ar: x = 0
 Next
End Sub

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Array binnen "For...Next..."-loop leegmaken voor elke nieuwe ronde.
« Reactie #2 Gepost op: 19 november 2021, 15:37:24 »
Hey Veerj,

Bedankt voor jouw voorbeeldje.

Ik had ook net de oplossing gevonden door gewoon vlak voor mijn Next (volgende rij) het lijntje
b = 0toe te voegen. ;)

Opgelost dus  :thumbsup:


groetjes,
BlackDevil

1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com