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

Textbox tekst naar getal omzetten

Status
Niet open voor verdere reacties.

wheel

Gebruiker
Lid geworden
6 nov 2009
Berichten
281
Beste helpers,

Na heel veel oplossingen te hebben gezien, kom ik er gewoon niet meer uit.

In het bijgevoegde bestandje (dat ik heb gevonden op helpmij :o) ben ik aan het stoeien om de output van textbox2 om te laten zetten naar een getal. Het maakt even niet uit wat het label zegt. Het gaat om de output naar het werkblad.

Daarnaast werkt het wijzigen en opslaan niet zoals het hoort. Een fout ingevoerde naam in de combobox die ik wil wijzigen, geeft een foutmelding.

Kan iemand mij een duw in de rug geven?

Thnx, Wheel.
 

Bijlagen

Zet .value achter het wegschijven van de textboxen
aanpassing gedaan voor variabele code
deze wordt bepaald door het veranderen van combobox1
door code bovenaan de macrocodes buiten de subs te declareren is deze in alle subs in het userform beschikbaar.

Bekijk bijlage userform_%20invoeren(1).xlsm

Niels
 
Eh.. en in Jip en Janneke taal? :o

Gr. Wheel
 
Laatst bewerkt door een moderator:
Zie de macro's achter het userform.

Ik begin daar met "dim code as integer"
daarna komt pas de eerst sub, omdat de code buiten de sub staat kan ik deze in alle sub gebruiken zonder er opnieuw een waarde aan te hoeven hangen.

bij de sub combobox1_change krijgt de variabele "code" een waarde (rijnummer van op te zoeken cel) welke dus in elke sub te gebruiken is.
Dit heb ik gedaan zodat de "code" altijd het rijnummer heeft van de cel waarin de originele gegevens staan die gekozen zijn in combobox1.

Niels
 
Super, Niels! :thumb:

Dank voor je uitleg.

Heb je ook nog iets om de combobox te sorteren op naam? :o
 
Sorry daar kan ik je niet mee helpen.
Ik weet dat de combobox de volgorde van je excelblad aanhoudt.
Als je die wilt sorteren dan kan ik je wel helpen.

Niels
 
Oké, toch bedankt! Ben al erg geholpen. :thumb:

Weer iets voor mijn zelfstudie erbij :d
 
Bij het opzoeken van de gegevens worden verborgen rijen niet meegenomen. Er worden alleen zichtbare rijen opgezocht.

Is het mogelijk dat dit wordt verholpen?

Gr. Wheel
 
Vervang LookIn:=xlValues door LookIn:=xlFormulas

zie code

Code:
Private Sub ComboBox1_change()
On Error Resume Next
  code = Worksheets("Blad1").Range("A:E").Find(ComboBox1.Value, LookIn:=xlFormulas, Lookat:=xlWhole).Row
End Sub

Niels
 
Iets is er toch nog niet juist. :confused:

Als ik de laatste rij een opmaak meegeef, zoals een kleur, dan gebeurt bij een nieuwe invoer het volgende:
1. als de laatste rij met opmaak zichtbaar is, dan wordt er keurig een nieuwe rij toegevoegd in de standaardopmaak. :thumb:
2. als de laatste rij met opmaak is verborgen, dan wordt de nieuwe invoer ook verborgen en neemt de opmaak én de data in die rij over. De rij wordt dus overschreden. :confused:

Verder, als ik in een bestaande database, het formulier ontwerp en reeds bestaande data wijzig, dan wordt die in het werkblad weggeschreven als tekst, terwijl de textboxen juist zijn aangepast. Nieuwe invoer wordt namelijk wel gewoon als getal weggeschreven.

Waar gaat het hier fout?

Gr. Wheel.
 

Bijlagen

Laatst bewerkt:
Het probleem met de verborgen rij is de verborgen rij.
Je kunt de laatste rij niet bepalen als deze verborgen is.

Het probleem met de getallen heb ik niet kunnen vinden bij mij gaat het goed.
Misschien dat er een cel met celeigenschappen "tekst" tussen staat?
Of staat er een komma in het getal, en is dit een tekstkomma?

Niels
 
Laatst bewerkt:
Is dat op een of andere manier te ondervangen? Het zal vaker voorkomen dat in de database die laatste rij verborgen zal zijn. Dat is namelijk afhankelijk van een bepaalde voorwaarde.


Zal ik nog eens goed naar kijken. Is er een verkorte methode om meerdere textboxen een bepaalde format mee te geven? Nu kopieer ik het zoveel keer en pas elke textbox handmatig aan naar hun nummer.

Gr. Wheel.
 
Laatst bewerkt door een moderator:
Nu voer ik de opmaak voor een textbox op de volgende manier in;

Code:
Private Sub TextBox2_Change()
    If TextBox2.Value = "" Then
Exit Sub
End If
If IsNumeric(TextBox2.Value) Then
Exit Sub
End If
End Sub

Private Sub TextBox3_Change()
    If TextBox3.Value = "" Then
Exit Sub
End If
If IsNumeric(TextBox3.Value) Then
Exit Sub
End If
End Sub

Private Sub TextBox4_Change()
    If TextBox4.Value = "" Then
Exit Sub
End If
If IsNumeric(TextBox4.Value) Then
Exit Sub
End If
End Sub

Etc.

In een van de databases zitten ongeveer 75 textboxen. Als ik dat op bovenstaande manier moet doen, heb ik daarna vierkante oogjes. Misschien is er een kortere code die alle boxen in één keer 'pakt'.
 
Wat zou die code moeten doen?
Je geeft aan dat als het een getal is de macro moet stoppen en als het geen getal is werkt hij de macro af maar daar staat niks meer dus die macro heeft geen functie.

Niels
 
Eh.. die code heb ik van jou gekregen om een getal in een textbox ook weg te schrijven als getal en niet als tekst. Zie #2

In de database heb ik meerdere velden die als getal moeten worden weggeschreven. Dus meerdere textboxen die dan de code moeten meekrijgen. Toch?! :confused:

Hoe zou ik dan de code voor meerdere textboxen moeten invoeren die dus als getal moeten worden weggeschreven?
 
Laatst bewerkt:
Uuuh :confused: die code is niet van mij die stond al in jouw macro. zie #1

dit stukje bij de knop opslaan is van mij.
Code:
Me("TextBox" & i).Value

de .value geeft aan dat het als een getal weggeschreven moet worden als er numerieke waardes zijn ingevuld.

Moeten de textboxen altijd een getal zijn of kunnen die ook letters bevatten?

Niels
 
Laatst bewerkt:
Oh :o:o:o

Sommige textboxen hebben alleen tekst (denk aan namen en woonplaatsen)
Sommige hebben letters en cijfers (denk aan postcodes)
Sommige hebben alleen cijfers (denk aan leeftijd, werkuren, verlofuren)
 
Volgens mij moet het goed gaan met de code uit #2
Het kan zijn dat je een verkeerde komma gebruikt. bv bij werkuren dan wordt dit als tekst gezien.

Je heb soms achter de textbox .text staan verander dit in .value

Niels
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan