caption dmv vba

Status
Niet open voor verdere reacties.

Doohan

Gebruiker
Lid geworden
20 mrt 2012
Berichten
377
Code:
Private Sub butVentilatielucht_Click()
    
    ' Vult 3 cellen vanuit txtbox op werkblad ventilatie
    ' Opent gegevens Invoer Ventilatielucht
    ' Vult 3 labels op frmGevensInvoer vanuit werkblad ventilatie
    
        Worksheets("Ventilatielucht").Range("B1") = CVar(txtOpdrachtgever.Text)
        Worksheets("Ventilatielucht").Range("B2") = CVar(txtSetnr.Text)
        Worksheets("Ventilatielucht").Range("B3") = CVar(txtKlant.Text)
        
        If IsNumeric(txtSetnr) Then
               
            frmGegevensInvoer.lblSetnr.Caption = Round(Worksheets("Ventilatielucht").Range("B2").Value, 0)
        
            Else
        
            MsgBox "Setnr kan alleen uit getallen bestaan"
        
        End If
            
        [COLOR="#FF0000"]frmGegevensInvoer.lblOpdrachtgever.Caption = Round(Worksheets("Ventilatielucht").Range("B1").Value, 0)[/COLOR]
        
        
        frmMainMenu.Hide
        frmGegevensInvoer.Show
    
End Sub

Geachte helpers(s)

De bestaande code werkt perfect op 1 ding na de rood gekleurde caption werkt alleen met getallen hier zou ik graag gewoon tekst willen gebruiken.
Wie kan mij helpen. Rekening houdend dat ik een beginner ben.
Bij Voorbaat dank

Vraag anders gesteld heeft iemand een code om de textbox op frm1 in te vullen zodat deze invulling op een label komt te staan op frm2..

wederom bij voorbaat dank
 
Laatst bewerkt:
Maar er eens dit van:
Code:
Cstr(Round(Worksheets("Ventilatielucht").Range("B1").Value, 0))
 
bedankt edmoor,

ik loop hier al een tijdje mee te worstelen. het werkt niet. ik denk dat ik ergens anders een foutje heb. Ik wil dit lijntje sluiten zodat ik rustig even verder kan stoeien.
Ik kom hier nog wel vaker terug denk ik.

Ieder geval bedankt
 
Dan zul je inderdaad ergens een foutje maken want bij mij werkt het prima. Plaats anders je werkblad hier eens dan kijk ik even mee.
 
werkbook

Beste edmoor,

hierbij het begin stadium van mijn nieuw te maken werkbook. misschien kun je mijn geblunder een beetje herstellen. het gele veld opdrachtgever is degen die niet op het form ventilatielucht werkt

Alvast bedankt
 

Bijlagen

Leg ook even het proces uit. Wat moet ik doen om te zien gebeuren, of niet gebeuren wat je bedoeld?
 
Op blad1 staat nu nog een knop die het form project info opent. Ik wil op dit form in de gele vlakken iets intikken. bepaalde gele vlakken moeten op het form ventilatielucht dmv caption ingevuld (dit zijn de donkergrijze labels op form ventilatielucht) worden het 1ste gele vlak werkt alleen met getallen. Dit is juist het. Het gaat om de caption van de andere gele vlakken waar ik of getallen of tekst in wil vullen. bij het 2de gele vlak bleek al dat het niet werkte dus daar stopt het voor mij. Uiteindelijk zullen er meer formulieren in dit bestand gaan komen. zodat dit een beetje een werkbaar bestandje word zonder de werkbladen te bezoeken.

Als je dan toch kijkt zou je dan ook kunnen laten zien hoe ik een combobox op het formulier ventilatielucht kan laten vullen vanuit blad "eenheid" kolom b zodat ik een eenheden keuze kan maken me kunnen. Ik moest helaas wat bladen uit het orgineel verwijderen want het bestand was meer als 100k helaas.
 
Even je uitleg bekeken met je Excel document erbij.
Je haalt Formulieren en Bladen door elkaar waardoor je uitleg zeer onduidelijk is. Een Caption is het opschrift van een Knop, Veld of Formulier, niet de inhoud ervan.
Leg het nog eens uit met de juiste benamingen want zo is het niet te volgen, sorry.
 
ok hier komt ie dan. Ik heb op werkblad1 tijdelijk een knop staan. Deze knop opent nu nog frmMainmenu dit ga ik later in object thisworkbook laten activeren bij het openen, dat is geen probleem. Het probleem zit in frmMainMenu. Zoals je ziet 5 gele textboxen. De bovenste gele textbox (setnr of offerte nr) mag alleeen getallen hebben, dit werkt perfect, de rest van de gele textboxen werken nog niet.

Als ik de bovenste textbox invul en daarna op knop ventilatielucht klik dan word er op werkblad ventilatielucht in de juiste cel een set.nr. neergezet en opent deze frmGegevensInvoer en haal dan ook direct uit het werkblad ventilatielucht het setnr. en plaatst deze op het frmGegevensInvoer in lblSetnr (donkergrijs vlak linksboven) Dit werkt dus.

Dit wil ik dus ook voor de 2e txtbox op frmMainmenu, echter hierin moeten alle karakters kunnen getikt worden en deze zou dan lblOpdrachtgever moeten vullen (grijzevlak middenboven op frmGegevensInvoer). Voor de rest van de txtboxen geldt hetzelfde maar dat lukt wel als ik eenmaal de 2e txtbox code weet. Het zal er wel wat omslachtig uitzien omdat er vast ook wel een manier is om de lblsetnr op frmGegevensInvoer direct te vullen vanuit frmMainmenu maar dat wil ik niet met een reden. Kortom 2e gele txtbox vult dmv knop Ventilatieluchthet werkblad Ventilatielucht cel B1 en haalt van werkblad ventilatielucht cel B1 info en vult lblOpdrachtgever op frmGegevensInvoer.

Ik hoop dat het wat duidelijker is.
Het comboboxje vraag welke ik wilde plaatsen naast Power op frmGevensInvoer komt in een later stadium nog wel een keer.
 
Laatst bewerkt:
Da's een stuk duidelijker en is de oorzaak van het probleem ook meteen duidelijk. Je probeert daar een string door functies te halen die een nummerieke waarde verwachten. Dat kan uiteraard niet.
Vervang in de routine butVentilatielucht_Click, deze regel:
Code:
frmGegevensInvoer.lblOpdrachtgever.Caption = CStr(Round(Worksheets("Ventilatielucht").Range("B1").Value, 0))

Door deze:
Code:
frmGegevensInvoer.lblOpdrachtgever.Caption = Worksheets("Ventilatielucht").Range("B1").Value
 
Laatst bewerkt:
het werkt. Ik snap wat je bedoelt. Dank je wel edmoor je bent een bikkel.
 
Beste edmoor ik denk nu het ijzer nog heet is kan ik beter smeden. ik heb nog een klein vervolg vraagje.

Op frmGegevenInvoer wil ik graag een comcobox die uit werkblad Eenheid kolm B gevuld hebben om andere eenheden te kunnen selecteren. Op werkblad Ventilatielucht heb ik nl. in cel D10 een als functie staan die eigenlijk aangestuurd moet worden dmv combobox (zie cel x3 op werkblad ventilatielucht.) Ik denk dat als ik dat onder de knie heb en hele grote stap in de goede richting maak.
Dit zou moeten onder butBerekenVentilatie

Of moet ik hiervoor een nieuw lijntje openen?
 
Laatst bewerkt:
Je kunt een combobox in die userform maken en vervolgens in de UserForm_Initialize sectie de volgende code plaatsen:
Code:
ComboBox1.RowSource = Sheets("Eenheid").Range("B2", Range("B65536").End(xlUp)).Address
 
Hier raak ik je dus kwijt. Ik heb nu dus dit toegevoegd

Private Sub UserForm_Initialize()

ComboBox1.RowSource = Sheets("Eenheid").Range("B2", Range("B65536").End(xlUp)).Address

End Sub
en een combobox1 op frmGegevensInvoer.

Knipsel.PNG

Maar dan krijg direct een foutmelding. Ik had nl nergens Userform_initialize staan dus ik dacht dat ik die moest maken dat is toch de bedoeling?
 
Dat klopt, maar je verteld er niet bij welke foutmelding je krijgt. Bij mij werkt het goed in je eigen document.
Heb je het wel in de juiste userform gedaan? Dus in dezelfde als waar de combobox in staat?
Dat denk ik namelijk niet ;)
 
Laatst bewerkt:
ok de fout was dat ik de verkeerde frm gekozen had dus de foutmelding is weg en heb ik een goed resultaat gezien maar door ietwat vermoeidheid mijne zijde ga ik hier morgen verder mee stoeien bedankt Edmoor. Ik ben jaloers op je kennis van VBA de mijne zal ook gestaag groeien.

Nogmaals bedankt en tot het volgende probleem.
 
Wat ik ervan weet heb ik ook geleerd door ermee te stoeien en veel vragen te stellen. Daarnaast is Google een grote hulp. En als je iets zoekt, doe dat in het Engels, dat geeft meestal de beste resultaten.
We lezen je wel weer :)
 
Wat is het nadeel van RowSource?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan