VBA - Condición si número decimal entonces...
Resuelto
zivodul8
Mensajes publicados
248
Estado
Miembro
-
blux Mensajes publicados 5032 Fecha de registro Estado Moderador Última intervención -
blux Mensajes publicados 5032 Fecha de registro Estado Moderador Última intervención -
Hola,
Mi problema es simple: busco un fragmento de código VBA que determine si un número tiene punto decimal o no. Ejemplo:
Si n = 3.22 entonces alinear a la derecha. Si no (n = 3) alinear a la izquierda. Fin si
Mi problema es simple: busco un fragmento de código VBA que determine si un número tiene punto decimal o no. Ejemplo:
Si n = 3.22 entonces alinear a la derecha. Si no (n = 3) alinear a la izquierda. Fin si
7 respuestas
-
Hola,
Lo que te aconsejo hacer es
SI tu cadena contiene un carácter especial aquí un punto ENTONCES
alinear a la derecha
SINO
alinear a la izquierda
FIN Si
En realidad, en cuanto en tu cadena encuentres el elemento punto deduces que es un número con coma -
No he conseguido hacer un:
Application.WorksheetFunction.Search
¿No hay otros métodos? -
Hola,
¿puedes hacer esto con la función int(número) que devuelve la parte entera de un número?
Si es igual al propio número, es que no hay coma decimal.
IF INT(número) = número THEN ... END IF
--
A+ Blux"Los idiotas, eso se atreven a todo. Es incluso con eso que se les reconoce"
-
Arff, ¡eso es tan estúpido! Voy a intentarlo, gracias ;-)
-
Tengo otro (rápido) problema. Busco determinar el número de la fila donde en una columna, dos celdas vacías se siguen verticalmente. Esto es lo que hice pero no funciona:
Sub NbLigne() Dim NbLigne, i As Integer i = 1 Do While Range("A" & i).Value <> "" And Range("A" & i + 1).Value <> "" NbLigne = i i = i + 1 Loop MsgBox NbLigne End Sub -
He resuelto, acabo de descubrir que en VBA el Y se traducía por or y no por and!
-
-
No es VBA, es lógica booleana, pero solo debido a que tienes <>; si tuvieras =, te haría falta poner un AND.
Las explicaciones aquí:
https://forums.commentcamarche.net/forum/affich-16025052-shell-condition
Y como digo, es una cosa vieja como los ordenadores ;-) -
-
-
Lo que puedes hacer es:
Dim nombre1 as integer Dim nombre2 as string Nombre1=Int(nombre2) If nombre2%nombre1 = 0 then desplazar a la izquierda Sinon desplazar a la derecha end if