Help!

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

Hulp bij posten

Recente topics

Auteur Topic: For Next lus maar dan genest  (gelezen 35865 keer)

0 leden en 1 gast bekijken dit topic.

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
For Next lus maar dan genest
« Gepost op: 14 april 2019, 21:40:15 »
Hallo Helpers en oplossers

Ik zit met een uitdaging waar ik niet uit kom, waarom anders dit epistel ;)

In het volgende stukje macro schrijf ik gegevens weg door gebruik te maken van een array. het probleem is dat uiteindelijk alleen de laatste waarde uit de array in de aangewezen cellen komt te staan. ik zie dat er ergens met de 2 for next constructies de boel hopeloos fout loopt, eerst loopt de For y loop 13 keer dan verhoogt hij pas de for i met 2 om vervolgens de y weer 13 keer te laten lopen en die procedure wordt dan vervolgens weer 13 keer herhaald. het omdraaien van Next y of i heeft in feite hetzelfde effect.

Wie ziet in onderstaande code waar ik mis ga?

With Blad9.Columns(1)

    Application.EnableEvents = False
   
    j = .Cells(Cells.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
   
    X = Array(TGK, BO, KPK, FL, T, ASR, OH, LP, KML, LKM, GKB, GKT, OPK)
   
    For i = 2 To 26 Step 2

        For y = 1 To 13 'array nummer
   
        .Cells(j, i) = X(y)
       
        Next y
   
    Next i
   
    Application.EnableEvents = True
End With
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: For Next lus maar dan genest
« Reactie #1 Gepost op: 14 april 2019, 23:12:15 »
Schijnbaar dacht ik te moeilijk, ik heb mijn uitdaging opgelost met:

With Blad9.Columns(1)

    Application.EnableEvents = False
   
    j = .Cells(Cells.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
   
    X = Array(TGK, BO, KPK, FL, T, ASR, OH, LP, KML, LKM, GKB, GKT, OPK)
    y = 1
   
    For i = 2 To 26 Step 2

        .Cells(j, i) = X(y)
        y = y + 1
   
    Next i
   
    Application.EnableEvents = True
End With
End Sub
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

 


www.combell.com