Saltar al contenido

Kilos de bascula como String no como Double


Recommended Posts

publicado

Hola chicos! hace poco publique un post sobre mi problema para leer los datos de una bascula TORREY, bueno, eso ya solucionado, en parte. Resulta que cuando leo los datos tengo que declarar mi variable "Peso" como String, si la declaro como double o byte me marca error, y necesito tomar solo el numero (ej. 0.406 kg solo necesito leer 0.406) para poder sacar el porcentaje en base a otros kilos ingresado anteriormente en una pagina llamada Estimaciones. Espero me puedan orientar o ayudar con esto

Adjunto el archio =)

Muchas Gracias! =)

DatosBasculaxlsx.rar

publicado

Hola Avimelec

El dato que quieres asignar a la variable "Peso" (0.406 Kg) es String y hay que extraer la parte numérica para poder asignarlo a una variable Double.

Puedes usar la función "Split" de basic para extraer la parte numérica y asi poderlo asignar a la variable

Ejemplo:.

Peso=split(Dato a separar," ") (0)

Lo que esta en rojo es el caracter que delimita las partes del texto (En este caso el delimitador es el espacio).

El (0) indica el nº de parte a extraer (En este caso se extrae el valor que esta delante del primer espacio).

Hola Macro Antonio debio entrar el mensaje mientras estaba respondiendo ,si que es un lio

Ademas de los formularios y las hojas ,no aparece la variable "Peso" como para andar rebuscando.

Un saludo.

publicado

Si, perdon, era la variable era dato xD

Mil disculpas a los dos!

Ama, intentare con la instruccion, hasta ahora mi jefe me recomendo usar un msbox para capturar el dato y solo asi me muestra el # e ingresa solo el #, muchisimas gracias! =)

- - - - - Mensaje combinado - - - - -

u.u creo que no supe como aplicarlo

Private Sub MSComm1_OnComm()

Dim dato As String

Dim Sheet4 As Worksheet

Set Sheet4 = Worksheets(2)

If MSComm1.CommEvent = 2 Then

dato = MSComm1.Input

TextBoxCaida1kg.Text = dato

'MsgBox dato

dato = Split(dato, " ")(0)

Sheet4.Range(" X" & Rows.Count).End(xlUp).Offset(1) = dato

End If

End Sub

Private Sub CommandButtonConexbasc_Click()

MSComm1.Output = "P"

End Sub

publicado

Hola Avimelec

Lo que hace falta es ver la/las formas en la que puede estar el dato antes de separarlo.Por que parece ser que no siempre tiene el mismo formato.

Que formato tiene el dato? ("0.406") ó ("0.406 Kg") ó ("Kg 0.406")...

publicado

Hola Avimelec

A ver que tal así.

Private Sub MSComm1_OnComm()
Dim dato As Double
Dim Sheet4 As Worksheet
Set Sheet4 = Worksheets(2)
If MSComm1.CommEvent = 2 Then
dato = Split(MSComm1.Input, " ")(0)
TextBoxCaida1kg.Text = dato
'MsgBox dato
Sheet4.Range(" X" & Rows.Count).End(xlUp).Offset(1) = dato
End If[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.