macro loop

Status
Niet open voor verdere reacties.

tompio8

Gebruiker
Lid geworden
9 mrt 2016
Berichten
13
hallo,
Ik heb hulp nodig met een loop. Er moet data gekopieerd worden uit het linker lijstje in het bestand wat hieronder staat, dit moet per regel worden gekopieerd naar het rechter rijtje. Als dit is gedaan moet per regel ook de uitkomst terug worden gekopieerd achter de berekende regel zetten. als de laatste regel leeg is dan moet de macro automatisch stoppen.Bekijk bijlage test_1.xlsb
 
Zoiets?

Code:
Sub VenA()
Dim ar, j
With Blad1
    ar = .[c4].CurrentRegion.SpecialCells(2, 1).Resize(, 3)
    For j = 1 To UBound(ar)
        ar(j, 3) = 2 * Application.Pi * (ar(j, 1) / 20) * ar(j, 2)
    Next j
    .[H4].Resize(UBound(ar), 3) = ar
End With
End Sub
 
bedankt voor de reactie,

de berekende gegevens moeten weer achter de zelfde rij komen te staan in het linker tabelletje. De gegevens layout van het rechter tabel mag niet veranderen(er mogen dus geen rijen onder bij komen.
 
Misschien kan je de vraag en het voorbeeld even een beetje verduidelijken.

Uit jouw macro-opnames blijken wat andere dingen dan je in de vraag stelt.
Wat dit is?

Code:
Lastrow = Sheets("blad1").Range("A" & amp / Row.Count).End(x1up).Row

Je hebt het over en linker tabel en een rechter tabel. Als je met de linker tabel de cellen B3: D7 bedoelt dan kan ik het misschien nog volgen. Wat is de rechter tabel? In J4 staat een formule deze kan je toch net zo goed in D4 zetten?

Wat het blok vanaf rij 17 voor functie heeft ontgaat mij ook.
 
Ik bedoel met het rechter tabel H3:J4 , ik snap dat je denkt dat de formule net zo goed achter de linker tabel kan komen te staan. De bedoeling is uiteindelijk dat de rechter tabel in een anderen sheet komt te staan(Blad1! H3:J4 hoeft nou dus niet meer gebruikt te worden). Hieronder het voorbeeld over hoe de sheets eruit zouden moeten zien. De regel van lastrow heb ik ergens van een forum afgeplukt en geprobeerd toe te passen in de formule, dit is echter niet gelukt. de macro moet dus als volgt werken;
- blad1! B4:C4 moet gekopieerd worden naar blad2! D4:E4, de uitkomst van F4 moet terug worden gekopieerd naar blad1! D4
- blad1! B5:C5 moet gekopieerd worden naar blad2! D4:E4, de uitkomst van F4 moet terug worden gekopieerd naar blad1! D5
- blad1! B6:C6 moet gekopieerd worden naar blad2! D4:E4, de uitkomst van F4 moet terug worden gekopieerd naar blad1! D6
- blad1! B7:C7 moet gekopieerd worden naar blad2! D4:E4, de uitkomst van F4 moet terug worden gekopieerd naar blad1! D7
Op het blok vanaf B17 hoef je niet te letten.

Bekijk bijlage test_1.xlsb


alvast bedankt,
 
Zoiets dan?

Code:
Sub VenA()
With Sheets("Blad1")
    For j = 4 To .Cells(Rows.Count, 3).End(xlUp).Row
        Sheets("Blad2").[D4:E4] = .Cells(j, 2).Resize(, 2).Value
        .Cells(j, 4) = Sheets("Blad2").[F4].Value
    Next j
End With
End Sub
 
toch nog een vraagje, ik heb meerdere verwijzingen op verschillende plekken staan. Het lukt me niet om deze in de formule te verwerken. ook zitten er als-voorwaarden in. zou je een opzetje kunnen geven hoe ik deze verschillende verwijzingen erin moet zetten?Bekijk bijlage vb venA.xlsx
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan