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 116 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Oplosser
  • ****
  • Berichten: 500
  • Geslacht: Vrouw
  • Oplossing.be
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
Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz / RAM : 8,00 GB (7,89 GB beschikbaar) / 64-bits besturingssysteem, x64-processor / Intel(R) 7 Series Chipset Family SATA AHCIController / Qualcomm Atheros AR8161 PCI-E Gigabit Ethernet Controller (NDIS 6.30) / Qualcomm Atheros AR9485 Wireless Network Adapter / HGST HTS541010A9E680 / Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP OfficeJet 3831
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Veerj

  • Ervaren lid
  • ***
  • Berichten: 277
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

  • Oplosser
  • ****
  • Berichten: 500
  • Geslacht: Vrouw
  • Oplossing.be
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

Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz / RAM : 8,00 GB (7,89 GB beschikbaar) / 64-bits besturingssysteem, x64-processor / Intel(R) 7 Series Chipset Family SATA AHCIController / Qualcomm Atheros AR8161 PCI-E Gigabit Ethernet Controller (NDIS 6.30) / Qualcomm Atheros AR9485 Wireless Network Adapter / HGST HTS541010A9E680 / Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP OfficeJet 3831
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com