Formato De Celda

25/05/2005 - 01:43 por Mauro Jesús | Informe spam
Saludos a todos.
Tengo una Tengo una duda que espero me ayuden a resolver.
Tengo una hoja de excel en la cual a ciertas celdas le he dado formato
numerico a otras celdas formato de fracciones. esto para que los datos que
capture el usuario se muestren con estos formatos, ahora bien los datos que
el usuario teclea, los almaceno en una b.d. mi problema es que al recuperar
los datos desde la b.d. y colocarlos en las celdas del libro, me muestra los
datos pero sin el formato de cada celda, he pensado en darle formato a la
celda en el momento en que le asigno el valor de la b.d., pero necesito que
el formato sea igual al que tiene la predefinido celda, algo así como format
(hoja1.cells(x,y), "formato predefinido de la celda x,y de la hoja 1")

Espero haberme explicado y agradezco desde ya sus comentarios y/o
sugerencias.

Cuando se quiere saber una cosa, lo mejor que se puede hacer después de
investigar, es preguntarla a los que saben,
porque aquel que no sabe nada, no duda de nada.

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
26/05/2005 - 02:23 | Informe spam
hola, Mauro !

... el usuario captura... (por ejemplo en fila 5... el valor cambia a 1/4 (por el formato predefinido para toda esa fila)
... guardo en la b.d. (se guarda como 0.25)... si... cierra el libro y despues lo abre para seguir capturando
le regreso los datos que capturo anteriormente, (... en la hoja de excel) [...]
... el codigo [...]
' este for es el que carga los datos... para el ejemplo de arriba, hace el ciclo de la fila 5 a la fila 8
For x = intInicioRango To intFilaMax - intFilaMin + intInicioRango
If RcsDbT.Fields(x) <> 0 And RcsDbT.Fields(x) <> "0" Then
' asigno el valor a la celda... me muestra el valor de la b.d. pero sin el formato predefinido de la celda
ActiveSheet.Cells(intFilaMin + x - intInicioRango, intColumna) = RcsDbT.Fields(x) [...]



[comprenderas que] no me fue posible correr las pruebas [de manera 'eficiente'] dado que...
el codigo expuesto [ademas de que es 'llamado' desde otras partes de tu aplicacion]...
utiliza variables [ademas del archivo de access] que no tengo idea de como son 'construidas' :-(
[asi que, 'por lo pronto'] me limito a ofrecerte algunas ideas que [espero] podrias 'aprovechar' ;)

-> doy por 'entendido' que el bucle que recorre las filas 5 a 8 tiene otras 'apreciaciones' y no puede ser 'simplificado' a:
For x = 5 To 8
-> estoy 'asumiendo' que cuando los dato son 'traidos' de la BD son [inicialmente] 'tratados' como texto -?-
[supongo tambien que] es la razon por la cual [inicialmente] los valores NO 'toman' el formato de 'su' celda -?-
[para lo cual] podrias 'detectar' si la fila [donde seran 'depositados'] requiere/tiene un formato numerico personalizado y...
'forzar' [en el codigo] a que si la fila [la variable 'x'] es < 8, 'convierta' el dato a valor [con la funcion Val de vba] p.e.
Cells(x, intColumna) = Iif(x < 8, Val(RcsDbT.Fields(x)), RcsDbT.Fields(x))
['el detalle' sera] adaptar a la realidad y complementar la 'x' Y la fila [8] con las variables que estoy 'omitiendo' :-(
-> utilizas ademas otra variable [intFila] que no le encontre aplicacion [al menos en la fraccion de codigo expuesto] -?-

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Mauro Jesús
26/05/2005 - 17:35 | Informe spam
Lo que dices es cierto, en la fraccion de código la fila 5 a la 8 es
varible, puede ser de la 5 a la 10 etc, depende de la orden que selecciona
el usuario, el asunto es que los valores de la b.d. son númericos, y de
texto. pero tengo que mostrarlos en la celda (con el formato de la celda
correspondiente) no le puedo aplicar el VAL puesto que todas las filas no
tienen el mismo formato ya que como te decia anteriormente, unas filas
tienen formato númerico, otras formato fracciones, etc. lo que necesito es,
que despues de colocar el valor, aplicar el formato que tiene predefinida la
fila.

por ejemplo si fila cinco el formato es numerico a 4 decimales, si el valor
que viene de la b.d. es 0.25, me debe aparecer como 0.2500 (y me aparece
como 0.25) y si la fila 5 el formato es en fracciones y el valor de la b.d.
es 0.75 me debe aparecer como 3/4 (y me aparece como 0.75)

me imagino que seria algo así como aplicar el formato al valor, pero el
formato lo debo tomar de la celda en donde coloco el valor.

Cuando se quiere saber una cosa, lo mejor que se puede hacer después de
investigar, es preguntarla a los que saben,
Respuesta Responder a este mensaje
#8 Héctor Miguel
27/05/2005 - 05:15 | Informe spam
hola, Mauro !

... el asunto es que los valores de la b.d. son numericos, y de texto
... tengo que mostrarlos en la celda (con el formato de la celda correspondiente)
... no le puedo aplicar el VAL puesto que todas las filas no tienen el mismo formato
... unas filas tienen formato numerico, otras formato fracciones, etc.
... necesito... que despues de colocar el valor, aplicar el formato que tiene predefinida la fila.
... si fila cinco... formato... a 4 decimales, si el valor que viene de la b.d. es 0.25
... me debe aparecer como 0.2500 (y me aparece como 0.25)
... si... el formato... fracciones y el valor... es 0.75... debe aparecer como 3/4 (... aparece como 0.75)
... seria... como aplicar el formato al valor, pero... lo debo tomar de la celda en donde coloco el valor.



-> [inicialmente] comentabas que cada fila -completa- YA tiene su formato 'pre-definido' -?-
-> [pero...] que la macro 'deposita' el valor SIN 'respetar' el formato que YA tiene 'su' fila -?-
[y de donde yo supongo que los valores 'traidos' de la bd-access son 'tratados' -inicialmente- como texto] -?-
[fue por lo anterior la 'sugerencia' de 'forzar' a depositar un valor numerico con la funcion Val de vba] ;)
-> [un 'detalle' es que] la funcion Val -vba- NO puede 'manejar' textos -como si fueran valores numericos- :-(
[por lo anterior] es necesario ANTES 'detectar' si la fila/celda donde se deposita 'recibe' numeros o textos -?-
-> si cada fila NO tiene ya un formato predefinido aplicado... una -posible- alternativa es...
-> aplicar -por el codigo- el formato 'correspondiente' a cada fila... 'detectando' ANTES si es numero o texto -?-
[ando un poquito 'perdido' en cuanto a si cada fila YA tiene formato... si ya probaste con la funcion Val... etc.] :))

comentas?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida