Foros del Web » Soporte técnico » Ofimática »

valor numero de variable en celda

Estas en el tema de valor numero de variable en celda en el foro de Ofimática en Foros del Web. tengo una duda, tengo dos celdas de excel q contienen valores numericos que asigno a variables pero no me funciona para que aparezcan estos datos ...
  #1 (permalink)  
Antiguo 17/10/2006, 15:04
Avatar de Crashman  
Fecha de Ingreso: junio-2004
Mensajes: 335
Antigüedad: 19 años, 10 meses
Puntos: 0
valor numero de variable en celda

tengo una duda, tengo dos celdas de excel q contienen valores numericos que asigno a variables pero no me funciona para que aparezcan estos datos en una tercer celda ejemplo celda (1,1) valor 2 = var1 y celda (1,2) valor 3=var2, el asunto es que yo quiero que en una tercer celda aparezca de la siguiente manera 2-3
pero no se como hacerlo porque si pongo entre comillas el "-" me da error
ejemplo
cells(1,3).value= var1"-"var2 (algo asi no?)
y aumentando la complejidad seria que si el segundo numero es de un digito le agregue cuatro ceros igual que al primer digito algo asi 00002-00002 y si es mas de un digito que quite ceros a la izquierda 00010-00012, otro ejemplo 00002-00132, alguien podria ayudarme
A si me preguntan es por un formato importable a una base de datos y este es un codigo de identificacion. pero el usuario ingresa los datos en excel y no ingresa esta columna porq esta oculta este dato se toma de las primeras celdas con el numero.
__________________
En la politica el unico ministerio que sale bien ante el pueblo es la iglesia, promete vida despues de la muerte y nadie a regresado a reclamar...
  #2 (permalink)  
Antiguo 17/10/2006, 22:24
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Prueba ésto...

Cells(1,1).Value=var1
Cells(1,2).Value=var2
Cells(1,3).Value="=var1-var2"
  #3 (permalink)  
Antiguo 18/10/2006, 08:11
Avatar de Crashman  
Fecha de Ingreso: junio-2004
Mensajes: 335
Antigüedad: 19 años, 10 meses
Puntos: 0
mi buen, gracias pero es algo asi como quiero que aparezca en una misma celda
cells(1,1).value=var1"-"var2
para que aparezca asi
1-2
donde 1 es el dato de var1 y 2 el de var2 y que aparezca un signo "-" en medio a y no es resta
__________________
En la politica el unico ministerio que sale bien ante el pueblo es la iglesia, promete vida despues de la muerte y nadie a regresado a reclamar...
  #4 (permalink)  
Antiguo 18/10/2006, 09:46
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Si mal no entendi:

Sub crash()
Dim var1 As Long, var2 As Long
var1 = Cells(1, 1).Value
var2 = Cells(1, 2).Value
Cells(1, 3).Value = " " & var1 & "-" & var2
End Sub


Abraham
  #5 (permalink)  
Antiguo 18/10/2006, 17:49
Avatar de Crashman  
Fecha de Ingreso: junio-2004
Mensajes: 335
Antigüedad: 19 años, 10 meses
Puntos: 0
ok eso si funciona ahora el clavo son los ceros como los pongo ejemplo si el dato es menor de dos digitos (1 a 9) que ponga 4 ceros antes (izquierda) y si es dos digitos (10 al 99) que ponga 3 ceros, y si es tres o mas que ponga dos ceros ejemplo

vceros as integer

Cells(1,1).Value=var1
Cells(1,2).Value=var2
if cells(1,1).value < 10 then
vceros= "0000"
Cells(1,3).Value= vceros & var1 & "-" & var2

pero me da error de que no coinciden los tipos,
asi sucesivamente en un bucle y tambien para el segundo dato despues del signo - (es porque el dato es un codigo y tiene que llevar esos ceros quedando asi 00002-00002, 00002-000123, por lo general despues del signoes don cambiarian los ceros)
__________________
En la politica el unico ministerio que sale bien ante el pueblo es la iglesia, promete vida despues de la muerte y nadie a regresado a reclamar...
  #6 (permalink)  
Antiguo 19/10/2006, 08:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Esto me parece que te lo puede resolver, la función String(n,caracter) repite el "caracter" una cantidad "n" de veces. En tu caso, una cantidad "digitos - longitud Var1" de veces.


Código:
Dim Var1 As String
Dim var2 As String
Dim digitos As String


Var1 = Cells(1, 1).Value
var2 = Cells(1, 2).Value
digitos = 5

Cells(1, 3).Value = String(digitos - Len(Var1), "0") & Var1 & "-" & String(digitos - Len(var2), "0") & var2

Espero te funcione.
Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:49.