VBA labels omzetten naar getallen

Status
Niet open voor verdere reacties.

Bosswilly

Gebruiker
Lid geworden
28 mrt 2016
Berichten
110
Goedendag,

Ik heb eventjes een vraagje. Ik heb een waarde via een textbox in een formule omschreven in een label.caption.

Die label.caption schrijf ik weg in mijn excel formulier.

Hoe krijg ik in plaats van een platte tekst een daadwerkelijk getal in VBA geschreven?

Ik geef mijn voorbeeld mee. Dit betreft bijvoorbeeld in Userform1

Voorbeeld Lbl34 rechts bovenaan in Frame verlichting.

Alvast bedankt.
 
Laatst bewerkt:
Met:
Code:
= Cdbl(lbl200)
 
Sorry,

Ik heb het nog niet.

Kun je een voorbeeld maken in mijn voorbeeld?

Alvast bedankt.
 
Er gebeurt niets in je bestand als ik in een textbox iets typ.
Vandaar uit de losse pols.
Code:
Cells(1).resize(,2) = array(cdbl(lbl2.caption), cdbl(lbl3.caption))
 
Sorry Harry,

Het lukt me niet.

Ik probeer je te doorgronden, maar loop toch tegen problemen aan.

Kun je me helpen?

Alvast bedankt.
 
Het gaat volgens mij om deze regelcode.
Code:
.Cells(lr, 1).Resize(, 21) = Array(Lbl24.Caption, TxtBx31.Value, Lbl34.Caption, , , Cmb31.Value, TxtBx41.Value, Lbl44.Caption, , , Cmb41.Value, TxtBx51.Value, Lbl54.Caption, Lbl59.Caption, Lbl552.Caption, Lbl512.Caption, , , , , Cmb51.Value)

Nu moet het vast lukken toch?
 
Klopt, die had ik ook.

Maar als ik dan een label.caption in mijn excellijst ingevoegd heb, krijg ik de melding bij die cel "het getal in deze cel is opgemaakt als tekst of wordt vooraf gegaan met een apostrof."

Ik kan deze tekst wel naar een getal converteren maar mijn vraag is of ik dit gelijk naar een getal in excel kan invoegen?

Zo nee, dan moet ik misschien wel met tekstboxen werken.

Ik zie je antwoord tegemoet.

Alvast bedankt voor het nadenken.
 
En wat heb ik dan voor foefje geschreven in #3 en 5?
 
Excuses,:o

Ik geloof dat ik niet scherp ben vanavond.:o

Naar aanleiding van jou op en aanmerkingen nog eens naar gekeken en inderdaad gevonden.:o

Nogmaals mijn excuses.

Dit is het echt.

Dank, dank en nogmaals dank.
 
Graag gedaan,

De labels moeten uiteraard wel gevuld zijn; al is het maar een nul.
 
Ja, dat zie ik.

Dat wordt wel een probleem, want ik gebruik of de frame verlichting, of de frame toestellen of de frame motoren.

Ik gebruik ze niet allemaal. Als ik dit in de combobox aanvink, wordt de overige frames al uitgeschakeld zoals ik dat wil.

Is daar een mogelijkheid om dit zo aan te passen dat het wel goed gaat?
 
Laatst bewerkt:
Wat heeft dit met labels te maken?
De frametermen die je gebruikt ken ik niets eens.
 
Nou,

In frm3 (verlichting) gebruik ik Lbl34, in frm4 (toestellen) gebruik ik Lbl44 en in frm5 (motoren) gebruik ik Lbl54.

Als ik de checkbox (bij frame eindgebruiker) aanvink wat ik wil hebben, schakel ik de andere frames uit, waardoor ik deze nooit kan invullen.
 
Voorbeeld.
Code:
.Cells(lr, 1).Resize(, 21) = Array([COLOR=#0000ff]iif(Lbl24.Caption="","",cdbl(lbl24))[/COLOR], TxtBx31.Value,[COLOR=#0000ff] iif(Lbl34.Caption="","",cdbl(lbl34))[/COLOR], , , Cmb31.Value, TxtBx41.Value, Lbl44.Caption, , , Cmb41.Value, TxtBx51.Value, Lbl54.Caption, Lbl59.Caption, Lbl552.Caption, Lbl512.Caption, , , , , Cmb51.Value)

Zelf afmaken voor elke label in de array.
 
Ik krijg een foutmelding bij het invoegen en kan het niet verwerken.

Heb het ook met de één op één copie van jou geprobeert, maar helaas dit gaat niet goed.

Heb je nog een antwoord?
 
Je moet de array voor het wegschrijven maar even in de juiste volgorde zetten.
Die stond namelijk verkeerd (ik tel er 22).
Code:
Private Sub CommandButton1_Click()
Dim ctrl, j As Long, arr(5)
    For Each ctrl In Array("lbl34", "lbl44", "lbl54", "lbl59", "lbl552", "lbl512")
       If IsNumeric(Me(ctrl)) Then arr(j) = CDbl(Me(ctrl))
         j = j + 1
       Next ctrl
    Blad1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 22) = _
    Array(Lbl24.Caption, TxtBx31.Value, arr(0), , , , Cmb31.Value, TxtBx41.Value, arr(1), , , Cmb41.Value, TxtBx51.Value, arr(2), arr(3), arr(4), arr(5), , , , , Cmb51.Value)
End Sub
 
Laatst bewerkt:
Dit is super Harry,

Wat geweldig.

Dank je wel dat je me geholpen hebt met mijn probleem.

Nogmaals dank, dank en dank.

Super:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan