Tekstnotaie naar getal notatie

  • Onderwerp starter Onderwerp starter Roma
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Roma

Gebruiker
Lid geworden
7 sep 2013
Berichten
515
Beste,

Ik heb een 20 tal TextBoxen waar een getal in komt staan. Deze schrijft hij weg op het tabblad als tekstnotatie en ik wil dit graag als getalsnotatie. hoe kan ik dit oplossen?
Alvast bedankt.
Ron
 
Bij het schrijven naar de cel converteren naar Integer.
 
Moet ik dat in de eigenschappen van de textbox doen?
 
Nee, bij het schrijven naar de cel:
Range("A1") = Cint(Tekstbox.Tekst)

Maar dat is slechts een simpel voorbeeld omdat er meer mogelijkheden zijn, afhankelijk van je getallen.
 
Laatst bewerkt:
Beste Edmoor,
bedankt voor je informatie.
Ik heb de textboxen 120 t/m 158 de geconverteerd moeten worden naar een getal. dit komt te staan in tabblad Controle.
Moet ik ze dan allemaal apart vermelden? Het gaat om getallen tussen de 1 en 50
 
Beste,

Het kan misschien met een for-next lus zoals :
Code:
for i=120 tot 158
range(i-119,1).value = Cint(textbox(i).Tekst)
next

In theorie wordt de inhoud van textbox120 weggeschreven naar de cel op rij 1, kolom 1 enz.............
 
Laatst bewerkt:
Bedankt,
Helaas de foutmelding: Sub of function is niet gedefinieerd.
 
Dat stukje van tkint doe je uiteraard in je eigen Sub, daar waar de waarden uit de tekstboxen naar de cellen moeten worden geschreven.
 
helaas de zelfde foutmeling met als toevoeging: compileer fout.

Code:
Private Sub Ok_button_Click()

Dim bed As Double, bed2 As Double
    If ActiveSheet.AutoFilterMode = True Then
        Cells.AutoFilter
    End If
If TextBox160 = "" Then
    TextBox160 = 0
End If
bed = TextBox160
bed2 = 0
If TextBox161 <> "" Then
    bed2 = TextBox161
    TextBox161 = FormatCurrency(Replace(TextBox161, ".", ","), 2)
End If

Sheets("Blad1").Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 4) = Array(FrmInvoer.ComboBox1.Text, FrmInvoer.Txt_Datum, bed, bed2)
Sheets("Blad2").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 1) = Array(FrmInvoer.Txt_Lid.Text)
Sheets("Controle").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 24) = Array(FrmInvoer.ComboBox1.Text, FrmInvoer.Txt_Datum, FrmInvoer.TextBox120, FrmInvoer.TextBox122, FrmInvoer.TextBox124, FrmInvoer.TextBox126, FrmInvoer.TextBox128, FrmInvoer.TextBox130, FrmInvoer.TextBox132, FrmInvoer.TextBox134, FrmInvoer.TextBox136, FrmInvoer.TextBox138, FrmInvoer.TextBox140, FrmInvoer.TextBox142, FrmInvoer.TextBox144, FrmInvoer.TextBox146, FrmInvoer.TextBox148, FrmInvoer.TextBox150, FrmInvoer.TextBox152, FrmInvoer.TextBox154, TextBox156, TextBox158, bed, bed2)

For i = 120 To 161
        Controls("TextBox" & i).Value = ""
Next i

For i = 120 To 158
Range(i - 119, 1).Value = CInt(TextBox(i).Tekst)
Next
End Sub
 
Beste,

Op welk tabblad komt de inhoud van de tekstboxen? Best aanduiden met Sheets("naam van het tabblad").Range enz
 
Dat stukje moet zijn:
Code:
For i = 120 To 158
    Range(i - 119, 1).Value = CInt(Controls("TextBox" & i).Value)
Next

Daarnaast wat tkint in #10 zegt. En uiteraard moet je er hier Range(i - 119, 1) voor zorgen dat de waarden naar de gewenste cellen gaan.
 
Laatst bewerkt:
:evil:Ik snap er geen jota meer van.
Blijft een foutmelding geven.
Het moet naar tabblad controle van vanaf kolom c:5
 
Als 'ie een compileerfout geeft is de syntax niet goed en moet je dat nakijken.
Plaats anders eens je document.
 
Hier is het document. De formule staat er niet in.
De bedoeling is dat tabblad controle de tekst omgezet moet worden naar een getal.
vanaf C5 t/m V......
Alvast bedankt voor het meedenken.
Ron
 
En vanuit welke tekstboxen komen de waarden voor C5 t/m V5?
 
textboxen: 120-122- t/m 158
Mag ook van 120 t/m 158 zijn
 
Volgens mij gaat het om 121, 123, 125, 127 enz. t/m 159 die respectievelijk naar C5 t/m V5 geschreven moeten worden.

Edit:
Je hebt gelijk, ik keek verkeerd.
 
Laatst bewerkt:
Nee het gaat alleen om de aantallen 120,122,124 t/m 158
 
Klopt, had net m'n bericht aangepast ;)
 
Dan zal je zoiets moeten doen omdat de tekstbox nummers totaal niet overeen komen met cel nummers. Deze kan je aanroepen van de Sub Ok_button_Click:

Code:
Sub VulAantallen()
    Dim Aantal(18) As Integer
    Dim Regel As Integer
    Dim x As Integer
    
    For i = 122 To 158 Step 2                           'De tekstbox nummers (even)
        Aantal(x) = CInt(Controls("TextBox" & i).Value) 'Vul de array
        x = x + 1                                       'Array element nummer (Begint bij 0)
    Next i
    
    Regel = 5                                           'De regel in blad Controle
    For x = 0 To 18                                     'Array element 0 t/m 18
        Cells(Regel, x + 3) = Aantal(x)                 'Vul de cel met de waarde van het array element
    Next x
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan