VBA excel / loop door textboxen

Status
Niet open voor verdere reacties.

Fishing

Nieuwe gebruiker
Lid geworden
30 mei 2019
Berichten
2
ben beginnend in het verhaal VBA in Excel maar veel zoekwerk over het internet is voor mij het volgende probleem niet helemaal op te lossen..

ik probeer een formulier in elkaar te zetten met meerdere regels
op elke regel staan meerdere textboxen

ik zou graag willen dat de inhoud van de textbox in een vast excel blad wordt geimporteerd (vanuit het formulier)
omdat ik 20 regels heb wil ik niet voor elke textbox (7 stuks) en elke regel (20 regels) een regel moeten maken om hem te importeren


er zal vast een optie zijn om via een "loop" dit op te lossen maar heb dit nog niet gevonden


-----
heb het volgende om hem te importeren per regel per tekstbox
---

Code:
Private Sub b_ok_Click()

Dim lastrow As Integer

Blad5.Activate
Range("A21:I40").ClearContents
Blad5.Range("A20").AutoFilter Field:=2
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
'1ste regel
Cells(lastrow + 1, 1) = data_st1.Value
Cells(lastrow + 1, 2) = data_pr1.Value
Cells(lastrow + 1, 4) = data_lg1.Value
Cells(lastrow + 1, 5) = data_kw1.Value
Cells(lastrow + 1, 7) = data_kstt1.Value
Cells(lastrow + 1, 8 ) = data_cert1.Value
Cells(lastrow + 1, 10) = data_opm1.Value

'2de regel
Cells(lastrow + 2, 1) = data_st2.Value
Cells(lastrow + 2, 2) = data_pr2.Value
Cells(lastrow + 2, 4) = data_lg2.Value
Cells(lastrow + 2, 5) = data_kw2.Value
Cells(lastrow + 2, 7) = data_kstt2.Value
Cells(lastrow + 2, 8 ) = data_cert2.Text
Cells(lastrow + 2, 10) = data_opm2.Value

'3de regel
Cells(lastrow + 3, 1) = data_st3.Value
Cells(lastrow + 3, 2) = data_pr3.Value
Cells(lastrow + 3, 4) = data_lg3.Value
Cells(lastrow + 3, 5) = data_kw3.Value
Cells(lastrow + 3, 7) = data_kstt3.Value
Cells(lastrow + 3, 8 ) = data_cert3.Text
Cells(lastrow + 3, 10) = data_opm3.Value

End Sub
-----
en dacht het volgende voor een loop
---


Code:
Private Sub b_ok_Click()

Dim v As Integer
Dim lastrow As Integer
Dim data_st As Integer
Dim data_pr As String
Dim data_lg As Integer
Dim data_kw As String
Dim data_kstt As Double
Dim data_cert As String
Dim data_opm As String


Blad5.Activate
Range("A21:I40").ClearContents
Blad5.Range("A20").AutoFilter Field:=2

v = 0

Do
v = v + 1

lastrow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(lastrow + 1, 1) = data_st & (v)
Cells(lastrow + 1, 2) = data_pr & (v)
Cells(lastrow + 1, 4) = data_lg & (v)
Cells(lastrow + 1, 5) = data_kw & (v)
Cells(lastrow + 1, 7) = data_kstt & (v)
Cells(lastrow + 1, 8 ) = data_cert & (v)
Cells(lastrow + 1, 10) = data_opm & (v)
Loop Until v = 20

End Sub
---
het zal voor de expert wel enorm grappig zijn maar hoop mee te kunnen lachen met het antwoord
 
Zonder bestand wordt het gokken.
Wat staat er bijvoorbeeld in de cellen in kolom 3, 6 en 9?

Toch een begin voor je.
Code:
for v = 1 to 20
 cells(rows.count, 1).end(xlup).offset(1).resize(,10) = array(me("data_st" & v), me("data_pr" & v), , me("data_lg" & v), me("data_kw" & v), , me("data_kstt" & v), me("data_cert" & v), , me("data_opm" & v))
next v
 
Laatst bewerkt:
het is nogal een uitgebreid bestand met meerder bladen..
maar ik snap waar je naar toe gaat

met deze loop schuift hij bij elke waarde 1 kolom op..
werkt prima! ik ga er mee verder
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan