Como identificar por codigo celdas en las que aparece ###

22/07/2006 - 10:41 por JL_BCN | Informe spam
Ante todo hola a Tod@s:
Estoy intentando que en varias celdas, no aparezca #### , (lo que ocurre
cuando la cantidad es demasiado grande)

Pero quiero saber como identificar por código VB, si una celda cumple
esa condición.

No me interesa formato condicional, ni aumentar el ancho de la columna.

lo que pretendo hacer es mediante una rutina localizar que celdas están
asi y actuar de varias formas según el caso.

En definitiva que código me permite identificar si una celda muestra #####

Gracias a td@s y saludos desde Barcelona

José Luis
 

Leer las respuestas

#1 Héctor Miguel
22/07/2006 - 23:07 | Informe spam
hola, Jose Luis !

Estoy intentando que en varias celdas, no aparezca #### , (lo que ocurre cuando la cantidad es demasiado grande)
Pero quiero saber como identificar por codigo VB, si una celda cumple esa condicion.
No me interesa formato condicional, ni aumentar el ancho de la columna.
lo que pretendo hacer es mediante una rutina localizar que celdas estan asi y actuar de varias formas segun el caso.
En definitiva que codigo me permite identificar si una celda muestra #####



1) toma en cuenta que cuando excel muestra el ancho de columna de una celda lleno del signo '#' pudiera ser por...
- el formato aplicado a una celda cuyo ancho de columna es 'insuficiente' para mostrar el 'resultado'...
- la celda contiene una operacion con fechas/horas cuyo resultado es 'negativo'

2) dichas 'incongruencias' pudieran ser 'corregidas' [por el usuario]...
- al modificar el ancho de la columna [o el formato aplicado a la celda -fuente, puntos, estilo, etc.-]
- al re/definir la forma en la que debe 'opear' con fechas/horas [en excel]

3) considerando que las correcciones [o nuevas apariciones] de las celdas cuyo resultado 'no cabe' en el ancho de columna
pudieran suceder sin tu previo/posterior conocimiento... necesitaras repetir el proceso para identificas las 'actuales' :))

prueba con una macro +/- como la siguiente [p.e.]
en un modulo de codigo 'general/normal/...' ==Sub No_cabe_en_celda()
Dim Celda As Range, Cuales As String
For Each Celda In ActiveSheet.UsedRange
If InStr(Celda.Text, "###") Then Cuales = Cuales & Celda.Address(0, 0) & ","
Next
If Cuales <> "" Then MsgBox "Estas celdas necesitan" & vbCr & _
"ajuste de ancho de columna:" & vbCr & Left(Cuales, Len(Cuales) - 1)
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares