• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Selectievakje koppelen aan textbox?

Status
Niet open voor verdere reacties.

Gielleke

Gebruiker
Lid geworden
9 feb 2009
Berichten
110
Beste Leden,:)

Graag wil ik nog een beroep doen op jullie kennis.

Op een vervolg van een vorige vraag ben ik begonnen aan mijn volgende actie op mijn userform. Waarbij ik de inhoud van de textboxen "inkomsten" en "uitgaven" wil koppelen aan een selectievakje.

Wat is de bodoeling:
Bij gewoon gebruik komt het bedrag van de inkomst in kolom C en de uitgaven in kolom D.
Nu zou ik héél graag willen als men een bedrag bij "inkomsten" typt en het selectievakje aanvinkt van "interne boeking" dat het bedrag komt in kolom E. En tegen overgestelde van de uitgaven naar kolom F.

Ik heb zelf de code inhet verleden al gebruikt voor een vast cel.
Maar omwille dat hier als maar meer gegevens worden aangevuld. Moet ik toch jullie toch om hulp vragen?:confused:

Dit was mijn code in het verleden:
Code:
If CheckBox1.Value = True Then [B1] = TextBox1.Text

Deze zal moeten aangepast worden.
Kunnen jullie mij iets meer vertellen aub?

Alvast bedankt!!:thumb:
Mvg,
 

Bijlagen

Code:
Private Sub cmdInvoeren_Click()
Dim lRij As Long
    lRij = Cells(Rows.Count, "A").End(xlUp).Row + 1
    Range("A" & lRij) = txtDatum
    Range("B" & lRij) = cboBetalingsmethode
    Range("C" & lRij) = CDbl(txtInkomsten.Value)
    Cells(lRij, 6 + CheckBox1.Value).Value = CDbl(txtUitgaven.Value)

End Sub
Het is een goede gewoonte om variabelen te declareren vandaar dat ik x heb vervangen door lRij en aangegeven dat het een Long-variabele betreft.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Bedankt voor jou snelle reactie!!

Is er geen eenvoudigere oplossing? Op de bestaande formule dat ik nu al gebruik?

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = txtInkomsten.Value
Range("D" & x) = txtUitgaven.Value

End Sub

Alvast bedankt.
Mvg,
 
Is er geen eenvoudigere oplossing?

Zo?
Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = txtInkomsten.Value
[B]Cells(x, 6 + CheckBox1.Value).Value = txtUitgaven.Value[/B]
End Sub

Alleen het vetgedrukte gedeelte is gewijzigd.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Bij wil de code niet werken. Met spijt.:confused:

Ik weet niet of u de juiste bedoeling heeft? Met ok de vraag wat de "6" als functie heeft in de code?...

De code die ik gisteren met jullie gemaakt heb werkt nu perfect en gebruik het "." op het numeriek klavier voor mijn bedragen in te vullen. Enkel wou ik graag op verder gaan nu, door het selectievakje aan te vinken waar door het het bedrag van de inkomst naar de interne boeking gaat van kolom E. En derna maak ik de zelfde code voor de uitgaven naar kolom F.:)

Mvg,
 
Mijn idee is/was om het in 1 regel samen te voegen.
Het kan uiteraard ook iets uitgebreider.

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = txtInkomsten.Value
If Checkbox1.Value = True Then
    Range("E" & x) = txtUitgaven.Value
Else
    Range("F" & x) = txtUitgaven.Value
End If

End Sub

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

We zijn er bijna.:D
Schiet mij maar dood als ik jou code beetje verkracht heb.:p
Het is maar voor een idee te geven.

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = txtInkomsten.Value
Range("D" & x) = txtUitgaven.Value
If CheckBox1.Value = True Then
Range("E" & x) = txtInkomsten.Value
Range("F" & x) = txtUitgaven.Value
End If

End Sub

Kheb deze even aangepast naar mijn kunnen. Er kunnen belangrijke stukken ontbreken maar dan hoor ik dat wel van jou. Maar als je de code nu bekijk werkt het selectievakje wel!! Maar als ik een inkomst of uitgaven + het vakje aanvink dan komt er nog wel steeds het bedrag in de kolom van inkomst en uitgaven waar het dan eigenlijk niet meer hoort te staan.

Begrijp je mij nog?:D

Bedankt!!
Mvg,
 
Je bent de Else vergeten.

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
[B]If CheckBox1.Value = True Then[/B]
Range("C" & x) = txtInkomsten.Value
Range("D" & x) = txtUitgaven.Value
[B]Else[/B]
Range("E" & x) = txtInkomsten.Value
Range("F" & x) = txtUitgaven.Value
End If

End Sub
Als Checkbox1 is aangevinkt dan staan de gegevens in C en D en anders in E en F.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Het is super!!:thumb:

De gegevens moesten enkel andersom maar dat heb ik zelf even snel gedaan!!

Mag ik jou nog een vraagje stellen?

Weet u soms of het mogenlijk is:

Als ik één cijfer typ of een ander iets in de textbox van inkomst. Dat de textbox van uitgaven op enabled komt te staan? zodat men nooit 2 textboxen tegelijk een bedrag kan ingeven?

Nog maals GROTE dank,
Mvg,
 
Voeg toe aan de code:


Code:
Private Sub txtInkomsten_Change()
txtUitgaven.Enabled = False
End Sub

Private Sub txtUitgaven_Change()
txtInkomsten.Enabled = False
End Sub

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Super super bedankt voor je tijd en werk!! :thumb:
Kheb .visible gebruikt i.p.v enabled, omdat ik het effect is.:D

Hier bij nog de volledige formule.

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
If CheckBox1.Value = True Then
Range("E" & x) = txtInkomsten.Value
Range("F" & x) = txtUitgaven.Value
Else
Range("C" & x) = txtInkomsten.Value
Range("D" & x) = txtUitgaven.Value
End If

End Sub

Private Sub txtInkomsten_Change()
txtUitgaven.Visible = False

End Sub

Private Sub txtUitgaven_Change()
txtInkomsten.Visible = False

End Sub

Private Sub UserForm_Initialize()
txtDatum.Text = Format(Now, "dd/mm/yyyy")
cboBetalingsmethode.RowSource = "Betalingsmethode"

End Sub

Grote dank!!
Prettige namiddag,

Mvg,
 
Graag gedaan.
Gaarne de vraag op opgelost zetten (rechts onderaan de pagina).
Bvd.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan