• 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.

Userform, Melding voor verandering.

Status
Niet open voor verdere reacties.

mark1987vw

Gebruiker
Lid geworden
19 mei 2009
Berichten
96
Goedenavond,

Ik heb een Userform gemaakt waarmee ik kleding kan bij houden onder de werknemers.

Wanneer er op een naam wordt geklikt in ComboBox1 laad die de gegevens uit een Excel tabel.

De aantallen komen te staan in TextBox1 t/m Textbox24 én tegelijkertijd gekopieerd naar Label101 t/m Label124.
Textbox1 is dus gelijk aan Label 101, Textbox2 is gelijk aan Label 102, enz. tot en met Textbox24 en Label 124.

Dit heb ik zo gedaan om te kunnen controleren of er verandering wordt aangebracht in een Textbox. Op het moment dat Textbox1 t/m Textbox 24, niet meer corresponderen met hun 'gekoppelde' label (Label101 t/m Label124) is er dus een verandering aangebracht in een Textbox en moet het dus eerst worden opgeslagen, om verder te kunnen gaan naar een nieuwe medewerker en verschijnt het Label: "Eerst opslaan, voordat je naar een nieuwe medewerker gaat", Dit heet Label: Opslaan.

Screenshot-Userform.JPG

Nu lukt dit alleen niet zo.

Met de code:

Code:
For j = 1 To 24

KledingAantallen.Controls("Label" & j + 100).Caption = KledingAantallen.Controls("Textbox" & j).Value

Next j

Kopieer ik automatisch de inhoud van een Textbox naar het bijbehorende label.

In in alle Textbox_Exit (1 t/m 24), dus bij het verlaten van een tekstbox, zet ik de sub "Aangepast", waarin die zou moeten checken of de waarde van het bijbehorende Label nog gelijk is.

Code:
Sub Aangepast()

Dim i As Long

    For i = 1 To 24

If KledingAantallen.Controls("TextBox" + i).Value = KledingAantallen.Controls("Label" + i + 100).Caption Then

KledingAantallen.Opslaan.Visible = False


Else

KledingAantallen.Opslaan.Visible = True
Exit Sub

End If

Next i

End Sub

Hierin geeft die aan: "fout 13 tijdens uitvoering: typen komen niet met elkaar overeen"

Dit heb ik proberen op te lossen met bepaalde format regels maar niks werkt.
Mogelijk is het heel omslachtig wat ik probeer, maar ik heb echt geen idee hoe ik dit moet oplossen en misschien is er een hele simpele oplossing voor maar helaas lukt het me niet.

Iemand een idee? Super bedankt alvast!
 
Gebruik de Debug mode om te zien op welke regel in je code het precies fout gaat.
 
Code:
If KledingAantallen.Controls("TextBox" + i).Value = KledingAantallen.Controls("Label" + i + 100).Caption Then
 
Altijd handig die plaatjes. Zeer waarschijnlijk vergelijk je tekst met getallen.
Code:
=[COLOR="#FF0000"]Cdbl[/COLOR](KledingAantallen.Controls("Label" + i + 100).Caption)
 
Gebruik niet + i maar & i
Code:
If KledingAantallen.Controls("TextBox" & i).Value = KledingAantallen.Controls("Label" & i + 100).Caption Then
Of plaats een voorbeeld document.
 
Laatst bewerkt:
Code:
KledingAantallen.Controls("Textbox" & j)
verkort..
Code:
Me("Textbox" & j)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan