FORMULA NO RESPONDE IGUAL AL COPIAR DATOS ???

04/05/2007 - 03:11 por Orfao | Informe spam
Hola a todos,

I need your Help. Please...

Tengo un libro con una hoja llena de numeros sin formulas y en algunas
celdas las tengo en blanco (Vacias) o llenas con ""
luego por codigo copio esa hoja a otro libro
pero al aplicar la formula en ese nuevo libro
=+INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))
me devuelve cero (0) cuando en realidad deberia colocar "" en caso de estar
vacia la celda o contener ""
En el primer libro aplico la misma formula y funcina perfectamente
por que en el otro libro no???

y entonces he optado por usar
=+SI(INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))=0,"",INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1")))
alguna solucion a esto ???
*** en el libro original las veldas en lanco devuelven Celda("TIPO")=b

Gracias de antemano...
Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
04/05/2007 - 04:33 | Informe spam
hola, moises !

Tengo un libro con una hoja llena de numeros sin formulas y en algunas celdas las tengo en blanco (Vacias) o llenas con ""
luego por codigo copio esa hoja a otro libro pero al aplicar la formula en ese nuevo libro
=+INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))
me devuelve cero (0) cuando en realidad deberia colocar "" en caso de estar vacia la celda o contener ""
En el primer libro aplico la misma formula y funcina perfectamente por que en el otro libro no???
y entonces he optado por usar
=+SI(INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))=0,"",INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1")))
alguna solucion a esto ???
*** en el libro original las veldas en lanco devuelven Celda("TIPO")=b



1) si la funcion celda("tpo") devuelve 'b' significa que la celda en la referencia esta 'vacia'...
-> no contiene NADA, ni siquiera el "" porque de lo contrario la funcion devolveria "r" [de Rotulo] ;)

2) si una celda esta *efectivamente* vacia, [como primera instancia] excel la 'evalua' como cero [0]
-> tanto para valores numericos como a cualquier formula 'dependiente' de una celda 'vacia' <= OJO

3) [probablemente] la 'forma' en que haces la copia por codigo de esa hoja al otro libro -???-
-> seria necesario conocer esa parte del codigo -?-

saludos,
hector.
Respuesta Responder a este mensaje
#2 Orfao
04/05/2007 - 05:05 | Informe spam
Hola Miguel.. Gracias por contestar..

Este es un extracto de la rutina (En realidad es mucho mas larga ya que
copio casi todas las hojas (28) aunque "no todas con el mismo metodo", pero
para el caso en cuestion esta es la parte que copia la hoja1

Sub electronico()

' Por Moisés Fernández

Windows("mejorar macros6.4.xls").Activate
Sheets("Hoja1").Select
Cells.Copy
Windows("electronico Vacio1.xls").Activate
Sheets("Hoja1").Select
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False

End Sub

Si prefieres te mando una copia por Hotmail del archivo Electronico
Vacio1.xls (Es donde se presenta el error ) para que lo veas mas claro... Tu
me dices...


Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola, moises !

> Tengo un libro con una hoja llena de numeros sin formulas y en algunas celdas las tengo en blanco (Vacias) o llenas con ""
> luego por codigo copio esa hoja a otro libro pero al aplicar la formula en ese nuevo libro
> =+INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))
> me devuelve cero (0) cuando en realidad deberia colocar "" en caso de estar vacia la celda o contener ""
> En el primer libro aplico la misma formula y funcina perfectamente por que en el otro libro no???
> y entonces he optado por usar
> =+SI(INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1"))=0,"",INDIRECTO(DIRECCION(C$2+A43,9,,,"HOJA1")))
> alguna solucion a esto ???
> *** en el libro original las veldas en lanco devuelven Celda("TIPO")=b

1) si la funcion celda("tpo") devuelve 'b' significa que la celda en la referencia esta 'vacia'...
-> no contiene NADA, ni siquiera el "" porque de lo contrario la funcion devolveria "r" [de Rotulo] ;)

2) si una celda esta *efectivamente* vacia, [como primera instancia] excel la 'evalua' como cero [0]
-> tanto para valores numericos como a cualquier formula 'dependiente' de una celda 'vacia' <= OJO

3) [probablemente] la 'forma' en que haces la copia por codigo de esa hoja al otro libro -???-
-> seria necesario conocer esa parte del codigo -?-

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
04/05/2007 - 06:36 | Informe spam
hola, moises !

Este es un extracto de la rutina
(En realidad es mucho mas larga ya que copio casi todas las hojas (28)
aunque "no todas con el mismo metodo", pero para el caso en cuestion esta es la parte que copia la hoja1



1) [casi-casi] te podria asegurar que la fraccion de codigo que expones NO es la 'causante' [al menos en mis pruebas]...
de que 'pierdas' contenidos en celdas de cadenas de texto de longitud cero [como "" por... 'nada' ?]
al copiar las celdas de una hoja y pegar solo los valores a otra -?-

2) si como indicas... la rutina es 'mucho mas larga' -???- [probablemente]...
pudieran existir otras instrucciones en otras partes de la rutina que estan re-convirtiendo celdas [semi]vacias -???-

3) una forma en que podrias 'omitir' celdas [casi]vacias convirtiendo en 'nada' su contenido [""] es +/- como la siguiente:

Dim Total As String
Total = Worksheets("hoja1").UsedRange.Address
Worksheets("hoja2").Range(Total).Value = _
Worksheets("hoja1").Range(Total).Value

4) otra forma [quizas involuntaria] de re/convertir cadenas de texto de longitud cero [""] en celdas 'realmente' vacias...
es [p.e.] si habiendo pegado solo valores de celdas [casi]vacias...
pulsas {F2}{F9}{Enter} [como queriendo 'revisar' el contenido en edicion de celdas {F2} y 'salir' con {Enter}] -???-

[creo que] te toca revisar que otras partes del codigo estan 'tocando/modificando/manipulando/...' los valores pasados :-(

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

__ el codigo expuesto __
Sub electronico()
Windows("mejorar macros6.4.xls").Activate
Sheets("Hoja1").Select
Cells.Copy
Windows("electronico Vacio1.xls").Activate
Sheets("Hoja1").Select
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Si prefieres te mando una copia ... del archivo Electronico Vacio1.xls
(Es donde se presenta el error ) para que lo veas mas claro...
Respuesta Responder a este mensaje
#4 Orfao
04/05/2007 - 07:41 | Informe spam
Hi HECTOR
Preferi enviarte a tu correo el archivo (Por aqui no se como hacerlo)
alli estaan los detalles del problema luego si te parece me gustaria
publicarlo en el foro para que todos pudieran tener acceso al problema y a la
solucion (podria servirle a alguien)
Agradecido ...

Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola, moises !

> Este es un extracto de la rutina
> (En realidad es mucho mas larga ya que copio casi todas las hojas (28)
> aunque "no todas con el mismo metodo", pero para el caso en cuestion esta es la parte que copia la hoja1

1) [casi-casi] te podria asegurar que la fraccion de codigo que expones NO es la 'causante' [al menos en mis pruebas]...
de que 'pierdas' contenidos en celdas de cadenas de texto de longitud cero [como "" por... 'nada' ?]
al copiar las celdas de una hoja y pegar solo los valores a otra -?-

2) si como indicas... la rutina es 'mucho mas larga' -???- [probablemente]...
pudieran existir otras instrucciones en otras partes de la rutina que estan re-convirtiendo celdas [semi]vacias -???-

3) una forma en que podrias 'omitir' celdas [casi]vacias convirtiendo en 'nada' su contenido [""] es +/- como la siguiente:

Dim Total As String
Total = Worksheets("hoja1").UsedRange.Address
Worksheets("hoja2").Range(Total).Value = _
Worksheets("hoja1").Range(Total).Value

4) otra forma [quizas involuntaria] de re/convertir cadenas de texto de longitud cero [""] en celdas 'realmente' vacias...
es [p.e.] si habiendo pegado solo valores de celdas [casi]vacias...
pulsas {F2}{F9}{Enter} [como queriendo 'revisar' el contenido en edicion de celdas {F2} y 'salir' con {Enter}] -???-

[creo que] te toca revisar que otras partes del codigo estan 'tocando/modificando/manipulando/...' los valores pasados :-(

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

__ el codigo expuesto __
> Sub electronico()
> Windows("mejorar macros6.4.xls").Activate
> Sheets("Hoja1").Select
> Cells.Copy
> Windows("electronico Vacio1.xls").Activate
> Sheets("Hoja1").Select
> Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
> :=False, Transpose:=False
> End Sub
>
> Si prefieres te mando una copia ... del archivo Electronico Vacio1.xls
> (Es donde se presenta el error ) para que lo veas mas claro...



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida