Excel - Textbox que lleve a la hoja excel numero y no texto

   
Vista:

Textbox que lleve a la hoja excel numero y no texto

Publicado por Mª Auxilio (19 intervenciones) el 11/05/2015 23:46:47
Hola amigos.
Tengo un formulario con varios textbox, (en algunos de ellos pongo números), que al pulsar un botón insertar me los lleva a una hoja de cálculo.
El problema es que aunque sean números me los inserta como texto y entonces no suman y necesito que lo hagan para unos informes que tengo que enviar luego y que están en otras hojas.
He probado con:

Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
TextBox5 = FormatNumber(CDbl(TextBox5.Value))
End Sub

Pero no funciona, el registro llega a la H.C. con el apostrofe verde y no suma
Alguien sabe como puedo hacer para que la información llegue a la H.C. como número ?.
Un Saludo
Chilo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de LaO

Textbox que lleve a la hoja excel numero y no texto

Publicado por LaO (67 intervenciones) el 12/05/2015 00:19:09
Hola Mª Auxilio,

Para asignar el dato de un textbox como valor debes capturarlo directamente del control. A continuación un ejemplo aplicado al evento click de un botón donde se asigna el valor al rango "A1" de una hoja:
----------------------------------------------------------------------------------->
<script>

Private Sub CommandButton1_Click()

'assign data as value
Sheets(1).Range("A1").Value = Val(txtDatos.Text)


End Sub

</script>
----------------------------------------------------------------------------------->

Sugerencia: Asegurate de que el control textbox solo reciba números.

Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Textbox que lleve a la hoja excel numero y no texto

Publicado por Mª Auxilio (19 intervenciones) el 12/05/2015 19:10:52
Gracias, pero no me funciona, bueno, la verdad es que no sé mucho de VB, entonces no sé como insertarlo
verás lo que yo tengo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Private Sub CommandButton1_Click()
Dim fila As Integer
Dim Final As Integer
Dim Registro As Integer
Dim Uf As Long
 
 
 
'Valida que los campos no esten vacios
If Me.TextBox1.Value = "" Or Me.TextBox2.Value = "" Or Me.TextBox3.Value = "" Or Me.ComboBox1.Value = "" Or Me.TextBox4.Value = "" Or Me.TextBox5.Value = "" Or Me.TextBox6.Value = "" Or Me.TextBox7.Value = "" Or Me.TextBox8.Value = "" Or Me.TextBox9.Value = "" Or Me.TextBox10.Value = "" Or Me.TextBox11.Value = "" Or Me.TextBox12.Value = "" Or Me.ComboBox1.Value = "" Then
MsgBox "Debes completar la informacion, Hay campos vacios"
Me.TextBox1.SetFocus
Exit Sub
End If
 
 
With Hoja1
Uf = .Range("D" & Rows.Count).End(xlUp).Row + 1
 
         ActiveSheet.Unprotect
        .Range("D" & Uf) = TextBox2
        .Range("E" & Uf) = CDate(TextBox1)
        .Range("F" & Uf) = TextBox3
        .Range("G" & Uf) = TextBox4
        .Range("H" & Uf) = ComboBox1
        .Range("I" & Uf) = TextBox5
        .Range("J" & Uf) = TextBox6
        .Range("K" & Uf) = ComboBox2
        .Range("L" & Uf) = TextBox7
        .Range("M" & Uf) = TextBox10
        .Range("N" & Uf) = TextBox8
        .Range("O" & Uf) = TextBox9
        .Range("P" & Uf) = TextBox11
        .Range("Q" & Uf) = TextBox12
         ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
    Contador
'Limpia los controles
Me.TextBox1 = ""
Me.TextBox2 = ""
Me.TextBox3 = ""
Me.TextBox4 = ""
Me.TextBox5 = ""
Me.TextBox6 = ""
Me.TextBox7 = ""
Me.TextBox8 = ""
Me.TextBox9 = ""
Me.TextBox10 = ""
Me.TextBox11 = ""
Me.TextBox12 = ""
Me.ComboBox1 = ""
Me.ComboBox2 = ""
'Mensaje de Registro correcto
MsgBox "Registro correctamente insertado", vbInformation, "Registros"
Me.TextBox1.SetFocus
 
End Sub

Y los textbox que me deberían dar un valor numérico y no de texto son los textbox 5 y 6

No sé si me podrías aclarar algo más
Te lo agradecería
Un saludo
Juanjo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de LaO

Textbox que lleve a la hoja excel numero y no texto

Publicado por LaO (67 intervenciones) el 12/05/2015 19:40:47
Hola,

Reemplaza en tu código los Textbox5 y 6 que son los que capturan valores numéricos así ..

Este
---------------------------------------->
.Range("I" & uf) = TextBox5
.Range("J" & uf) = TextBox6

Por este
-------------------------------------------->
.Range("I" & uf) = Val(TextBox5)
.Range("J" & uf) = Val(TextBox6)

Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Textbox que lleve a la hoja excel numero y no texto

Publicado por Mª Auxilio (19 intervenciones) el 12/05/2015 23:23:51
Lo tengo solucionado
gracias por todo
un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar