Formato decimal de TextBox a celda

Estoy tratando de pasar datos desde unos textbox a una hoja de excel y algunos valores son decimales pero me lo esta pasando como entero. A ver si me pueden ayudar

Private Sub CommandButton1_Click()
ActiveCell.Offset(0, 1) = TextBox2.Value - TextBox4.Value
uf = Sheets("Diario").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Sheets("Diario").Range("A" & uf) = Date
Sheets("Diario").Range("B" & uf) = TextBox1
Sheets("Diario").Range("C" & uf) = ComboBox1
'Agregándole Value a los TextBox salen como formato general
Sheets("Diario").Range("D" & uf) = CDbl(TextBox4.Text)
Sheets("Diario").Range("E" & uf) = Format(TextBox3, "#,##0.00") 'Probé esta y no me sale
'Sheets("Diario").Range("E" & uf) = CDbl(TextBox3.Value) 'No me sale
Sheets("Diario").Range("F" & uf) = CDbl(TextBox3.Text) * CDbl(TextBox4.Text)
vax = ActiveCell.Offset(0, 2) 'Precio compra
vay = ActiveCell.Offset(0, 3) 'Precio venta
'Calculo de beneficio
Sheets("Diario").Range("K" & uf) = CDbl(TextBox4.Text) * vax 'Este si sale bien
Sheets("Diario").Range("L" & uf) = CDbl(TextBox4.Text) * (vay - vax) 'Este si sale bien
'limpiamos los datos del ComboBox
ComboBox1.Clear
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
End Sub

1 respuesta

Respuesta
1

Prueba con

dim a,b,c,d as currency

a= Sheets("Diario").Range("A" & uf)

b=Sheets("Diario").Range("B" & uf)

c=Sheets("Diario").Range("C" & uf)

a= Date

b= TextBox1

c= ComboBox1

También puedes dimensionar como long las variables

Prueba y me comentas, en www.programarexcel.blogspot.com encontrarás una serie de ejemplos que te pueden servir.

Error '1004' en tiempo de ejecuci´0n

Ok creo que encontré la repuesta, solo era asunto de buscar

Sheets("Diario").Range("D" & uf) = Val(TextBox4)


Val() - Para que acepte un string y lo retorne como un número y bueno le di formato de moneda a las columnas donde se copian los valores que son dinero.

Gracias por la ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas