Label vullen met text uit cel op formulier

Status
Niet open voor verdere reacties.

Doohan

Gebruiker
Lid geworden
20 mrt 2012
Berichten
374
Geachte heer/mevr.

Ik zit met het volgende probleem. Ik heb 2 formulieren. Het 1ste formulier bevat 3 txtboxen die ik invul en de info wordt geplaatst in een 3 cellen op blad ventilatie zodra ik de button aanklik die het 2e formulier opent. Dit werkt prima. Het 2e formulier heeft ook een aantal txtboxen die bepaalde cellen vult op het zelfde blad nadat ik de button bereken heb aangeklikt. Op het 2e formulier worden ook labels gevuld met berekende waarden vanuit hetzelfde blad. Dit werkt ook perfect. Echter de labels die ik wil vullen op het 2e formulier met de tekst die ik in de txtboxen op het 1e formulier heb ingevuld en waarvan de waarden dus juist op mijn blad staan krijg ik niet gevuld met de waarden van mijn cellen.
Hieronder de button die goed werkt op het 2e formulier

Code:
Private Sub butBerekenVentilatielucht_Click()
        
    'Bereken Button voert berekening uit van werkblad Ventilatielucht
    'De ingevulde txtboxen vullen bepaalde cellen op blad ventilatie
    'Een aantal labels haalt info uit bepaalde cellen op blad ventilatie
              
        Worksheets("Ventilatielucht").Range("c22") = CDbl(txtBinnentemp.Text)
        Worksheets("Ventilatielucht").Range("c21") = CDbl(txtBuitentemp.Text)
        Worksheets("Ventilatielucht").Range("c14") = CDbl(txtPower.Text)
        Worksheets("Ventilatielucht").Range("c9") = CDbl(txtQcombustionair.Text)
        Worksheets("Ventilatielucht").Range("c15") = CDbl(txtEfficiency.Text)
        Worksheets("Ventilatielucht").Range("c10") = CDbl(txtWarmtafgifte.Text)
        Me.lblVuit.Caption = Round(Worksheets("Ventilatielucht").Range("c38").Value, 0)
        Me.lblVin.Caption = Round(Worksheets("Ventilatielucht").Range("c42").Value, 0)
        Me.lblWarmteafgifte.Caption = Round(Worksheets("Ventilatielucht").Range("c34").Value, 0)
    
End Sub

hieronder de button die fout gaat . 1ste formulier

Code:
Private Sub butVentilatielucht_Click()
    ' Vult 3 cellen vanuit txtbox op blad ventilatie
    ' Opent gegevens Invoer Ventilatielucht
    ' Zou 3 labels moeten vullen op form2 vanuit blad ventilatie
    
        Worksheets("Ventilatielucht").Range("B1") = CDbl(txtOpdrachtgever.Text)
        Worksheets("Ventilatielucht").Range("B2") = CDbl(txtSetnr.Text)
        Worksheets("Ventilatielucht").Range("B3") = CDbl(txtKlant.Text)
        
        frmMainMenu.lblOpdrachtgever.Caption = Round(Worksheets("Ventilatielucht").Range("B1").Value, 0)
        frmMainMenu.lblSetnr.Caption = Round(Worksheets("Ventilatielucht").Range("B2").Value, 0)
        frmMainMenu.lblKlant.Caption = Round(Worksheets("Ventilatielucht").Range("B3").Value, 0)
        
        frmMainMenu.Hide
        frmGegevensInvoer.Show
    
        
End Sub

Weet iemand wat ik hier fout doe.

Bij voorbaat dank,
Martin de Jong
 
Je opent alleen het tweede formulier (ik neem aan dat dat frmGegevensInvoer is), je vult daarop niks in. Je vult wèl een aantal labels op frmMainMenu (eerste formulier, neem ik aan) die de gebruiker never nooit niet ziet, omdat je een split second later dat formulier al verbergt...
 
ik heb een blad1 waarop 1 knop zit die het 1ste formulier (frmMainMenu) opent. Het 1ste form bevat nu nog 1 knop die 2de formulier (frmGegevensInvoer) opent. Dus alle formulier komen langs. zie afbeelding. Misschien is het dan wat duidelijker.
blad ventilatielucht.JPGfrmGegevensInvoer.jpgfrmMainMenu.jpg
 
Nee, dat herhaalt alleen maar wat je eerder hebt gezegd. Ik zie in je code als laatste regel voor de knop rmGegevensInvoer.Show dat het formulier opent. Maar nergens dat er gegevens van het eerste formulier door moeten worden gezet naar het tweede. Dus de vraag is: wanneer vindt dat proces plaats?
 
Dat wil ik ook niet, het 1st form moet de 3 cellen vullen en dat gebeurt ook in de spreadsheet. Op het moment van het klikken op de ventilatie lucht button opent hij het 2e formulier zonder de 3 labels te vullen . druk ik echter op bereken op het 2e formulier dan haalt hij wel de berekende waarden op en vult die wel in labels . Dus voor mij gevoel dezelfde actie. Ik moet wel zeggen dat ik een beginners cursus heb gehad en dit is mijn 1ste project. Dus misschien begrijp ik niet wat je bedoelt. Ik wil dus niet doozetten wat ik op form 1 invul naar form 2.
form2 moet behalve de invulvelden alles van het werkblad halen dus de geel.blauw.rode velden werken wel. de donker grijze labels niet.

frmMainMenu.lblOpdrachtgever.Caption = Round(Worksheets("Ventilatielucht").Range("B1").Value, 0)
frmMainMenu.lblSetnr.Caption = Round(Worksheets("Ventilatielucht").Range("B2").Value, 0)
frmMainMenu.lblKlant.Caption = Round(Worksheets("Ventilatielucht").Range("B3").Value, 0)
de fout zit zeker hier maar wat
 
Laatst bewerkt:
In je voorbeeld van #5 vul je nog steeds alleen maar een paar labels van het scherm "frmMainMenu".
Er wordt dus niets gedaan op het scherm "frmGegevensInvoer".
 
bedoel je nu dat ik in het 2e form een actie moet doen om de labels te vullen en dat dat dus niet kan door op het 1ste form op de ventilatie lucht button te drukken waar ik dat in wil regelen?
 
Het bijgesloten formulier van #8 doet het prima.
Ik kom er geen probleem in tegen.
 
Laatst bewerkt:
dus de donkergrijze lbls op form2 worden bij jouw gevuld en niet bij mij. typisch. Ik denk dat het probleem niet begrepen word of ik breng het niet goed over . Laten we maar van het laatste uitgaan. Ik zal nog een keer rustig de tijd nemen om de vraag opnieuw te stellen in andere vorm. Want bij mij werkt het wel geloof ik dus niet.

Mission not Accomplished
 
Laatst bewerkt:
Ok, daar gaat het dus om. Maar ik zie ook nergens in je code waar je die labels van een waarde voorziet. Verder zitten er HEEL VEEL lege functies in. Die kun je beter verwijderen want dat maakt het er niet duidelijker op.
Ook kun je bij een uitleg hier beter de echte formuliernamen vermelden in plaats van form1 en form2.
 
Laatst bewerkt:
Stap voor stap

Geacht heer,

Ik heb een excelbestand met 2 werkbladen(blad1 en Ventilatielucht) Op blad1 zit een knop die frmMainmenu opent.
Hierop zitten 3 txtboxen en een knop (butVentliatielucht) als ik op de knop druk worden de waarden van de txtboxen ingevuld in bepaalde cellen op het werkblad(Ventilatie) en frmGegevensInvoer word geopent.
Op het frmGegevensInvoer zit en knop(butBerekenVentilatielucht), een aantal txtboxen en labels die gevuld moeten worden van werkblad(Ventilatielucht). de knop(butBerekenVentilatielucht) doet het goed hij vult de labels met berekende waarden vanaf werkblad(Ventilatielucht).
Hieronder de code
Code:
Private Sub butBerekenVentilatielucht_Click()
        
    'Bereken Button voert berekening uit van werkblad Ventilatielucht
    'De ingevulde txtboxen vullen bepaalde cellen op blad ventilatie
    'Een aantal labels haalt info uit bepaalde cellen op blad ventilatie
              
        Worksheets("Ventilatielucht").Range("c22") = CDbl(txtBinnentemp.Text)
        Worksheets("Ventilatielucht").Range("c21") = CDbl(txtBuitentemp.Text)
        Worksheets("Ventilatielucht").Range("c14") = CDbl(txtPower.Text)
        Worksheets("Ventilatielucht").Range("c9") = CDbl(txtQcombustionair.Text)
        Worksheets("Ventilatielucht").Range("c15") = CDbl(txtEfficiency.Text)
        Worksheets("Ventilatielucht").Range("c10") = CDbl(txtWarmtafgifte.Text)
        Me.lblVuit.Caption = Round(Worksheets("Ventilatielucht").Range("c38").Value, 0)
        Me.lblVin.Caption = Round(Worksheets("Ventilatielucht").Range("c42").Value, 0)
        Me.lblWarmteafgifte.Caption = Round(Worksheets("Ventilatielucht").Range("c34").Value, 0)
    
End Sub

echter de knop(butVentilatielucht) die ik dus in het begin krijg te zien op frmMainMenu zou ook wat labels moeten vullen vanaf werkblad(Ventilatielucht) zodat ik die informatie kan zien op het frmGegevensInvoer.
En dit gebeurt dus op een of andere manier niet.
Code butVentilatieLucht
Code:
Private Sub butVentilatielucht_Click()
    ' Vult 3 cellen vanuit txtbox op blad ventilatie
    ' Opent gegevens Invoer Ventilatielucht
    ' Zou 3 labels moeten vullen op form2 vanuit blad ventilatie
    
        Worksheets("Ventilatielucht").Range("B1") = CVar(txtOpdrachtgever.Text)
        Worksheets("Ventilatielucht").Range("B2") = CVar(txtSetnr.Text)
        Worksheets("Ventilatielucht").Range("B3") = CVar(txtKlant.Text)
        
        Me.lblSetnr.Caption = Round(Worksheets("Ventilatielucht").Range("B2").Value, 0)
        Me.lblOpdrachtgever.Caption = Round(Worksheets("Ventilatielucht").Range("B1").Value, 0)
        Me.lblKlant.Caption = Round(Worksheets("Ventilatielucht").Range("B3").Value, 0)
        
        frmMainMenu.Hide
        frmGegevensInvoer.Show
        
    
End Sub

Ik hoop dat het wat duidelijker is. En dat ik geholpen kan worden, Want de moed begint me een beetje in de schoenen te zinken

met vriendelijke groet,
Martin de Jong
 
Ik ben erachter het was iets simpels wat niet goed stond in de code van de butVentilatielucht stom van mij maar ik ben dan ook een beginner. Maar ik kan weer verder ieder geval bedankt voor de commentaren. Dat heeft mij toch op andere plekken doen zoeken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan