Lus maken...

  • Onderwerp starter Onderwerp starter ZZ1
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ZZ1

Gebruiker
Lid geworden
21 jul 2009
Berichten
116
Hallo,

Ik probeer een lus te maken maar het wil maar niet lukken :(
Wie kan mij hulp bieden?

Het gaat om de volgende code:
Zonder lus
Code:
    BERKD1.Caption = ActiveWorkbook.Sheets("Gegevens kasten").Range("A43")
    BERKD2.Caption = ActiveWorkbook.Sheets("Gegevens kasten").Range("A44")
    BERKD3.Caption = ActiveWorkbook.Sheets("Gegevens kasten").Range("A45")

enz tot A100

En de volgende code:
Zonder lus
Code:
Private Sub BERKD450EXS1Aantal_1_Change()
    If BERD45Aant_1.Value = "" Then
Exit Sub
End If
    If IsNumeric(BERD45Aant_1.Value) Then
Exit Sub
Else
    MsgBox "Je mag alleen cijfers invullen!", vbCritical
    BERD45Aant_1.Value = 0
End If
End Sub

enz tot BERD45Aant_50


Alvast bedankt
 
Het is wel handig te vertellen of je in een werkblad werkt, een userform; en ook of het om een tekstvak, keuzelijst, Label gaat, etc. Maak van je vraag geen gokpaleis.

Code:
for j=1 to 100
  Me("BERKD" & j).Caption = ActiveWorkbook.Sheets("Gegevens kasten").cells(42+j,1)
Next
of
Code:
for j=1 to 100
  Controls("BERKD" & j).Caption = ActiveWorkbook.Sheets("Gegevens kasten").cells(42+j,1)
Next

Als alleen getallen mogen worden ingevoerd: gebruik een spinbutton of een combobox als dropdownlist met alle toegestane numerieke waarden.
Niets zo ververveld als de gebruiker de gelegenheid te geven 'fouten' te maken, die daarna gecontroleerd moeten worden en de gebruiker iets opnieuw moet doen.
Dus je overige code in je vraag dien je overbodig te maken.
 
Laatst bewerkt:
Hallo snb,

Heel erg bedankt voor jou snelle reactie!
Het gaat hierom een label op een userform.

Deze moet zijn gegevens halen uit excel als het userform wordt geopend.
Maar ik heb 3 pagina's en niet altijd is de kolom A van toepasbaar het kan ook kolom C zijn.
Moet ik dan voor 42 de letter van de kolom nog aangeven?

Ik zal deze code vandaag testen en je hoort mijn reactie wel:) :D

gr. ZZ1
 
Hallo,

Ik heb dit toegepast op mijn bestand.
En een klein beetje aangepast:

Code:
for j=1 to 35
  Me("BERKD" & j).Caption = ActiveWorkbook.Sheets("Gegevens kasten").cells(2+j,1)
Next

Maar het gaat niet zonder slag en stoon :(:(
Zo begint hij perfect in A3, maar hoe start ik hem als ik gegevens uit H3 nodig ben??

Hoe kan ik dit wijzigen zodat hij wel werkt :D

Alvast bedankt!!
 
Laatst bewerkt:
Ook jouw Excel-versie heeft een hulpfunktie in de VBEditor. Kijk bij cells.
 
Hallo snb,

Heel erg bedankt voor jou hulp!!

Het is me gelukt, met de hulp functie en heel veel testen is het me eindelijk gelukt :D:D

Met onderstaande code: (ook voor labels die beginnen met nummer 6 ipv 1)
Code:
For teller = 1 To 3
 Me("BERKD_" & 6 + teller).Caption = ActiveWorkbook.Sheets("Gegevens").Cells(7)(1 + teller, 1)
Next


Je gaf eerst ook aan dat deze overbodig was ivm
Niets zo ververveld als de gebruiker de gelegenheid te geven 'fouten' te maken, die daarna gecontroleerd moeten worden en de gebruiker iets opnieuw moet doen.
Dus je overige code in je vraag dien je overbodig te maken.

Maar toch laat ik deze functie erin omdat andere mensen daardoor geen verkeerde gegevens in kunnen voeren.
Ik ben als druk aan het uitzoeken maar heb een setje in me rug nodig om want is hiervan een lus te maken?

Code:
Private Sub BERKD450EXS1Aantal_1_Change()
    If BERD45Aant_1.Value = "" Then
Exit Sub
End If
    If IsNumeric(BERD45Aant_1.Value) Then
Exit Sub
Else
    MsgBox "Je mag alleen cijfers invullen!", vbCritical
    BERD45Aant_1.Value = 0
End If
End Sub

Alvast heel erg bedankt voor de overige hulp!!!
 
Laatst bewerkt:
Dat lijkt me niet:

Code:
For j = 1 To 3
 Me("BERKD_" & 6 + j).Caption = ActiveWorkbook.Sheets("Gegevens").Cells(7 + j, 1)
Next

Leer je aan voor 'lus-integers" een enkele letter (i,j x,y) te nemen.
Als je dat systematisch doet, weet je meteen dat het een integer is die deel uitmaakt van een lus.

Je moet van mij geen hulp verwachten voor zaken waarvan ik eerder heb aangegeven dat ze overbodig zijn.

PS. Heb je al een VBA-boek gekocht ?
 
Laatst bewerkt:
Hallo,

Ik heb deze code nu en hij werk.
Bij de label dan start hij vanaf 7. En met het excel gegevens blad begint hij in kolom 7 dat is kolom G en rij 1.

Ik heb nu een boek van Visual basic for applications van wim de groot. En een ander boek is onderweg via het werk.

Ik wil het toch graag die code erin houden en ga beginnen met nog meer tests als ik eruit kom.

Iedergeval heel erg bedankt voor alle info!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan