Buscar celdas no vacias en un rango y copiar datos en otra hoja

11/12/2006 - 13:27 por weller | Informe spam
Hola a todos,

Llevo semanas intentando encontrar solución a esta duda en otro foro,
pero todavía no he podido resolverla.

Tengo un archivo con 31 hojas (1 por cada día del mes). Mi intención
es encontrar la forma de que en la hoja 32 busque las celdas que
contengan datos del rango repartido en las primeras 31 hojas y haga una
lista en la hoja 32.

Me explico: en la primera celda de la hoja 32 copia el valor de la
primera celda no vacia del rango de las hojas 1-31, en la celda de
debajo copia el valor de la segunda celda no vacia que encuentre en el
mismo rango, así sucesivamente.

Un experto de otro foro me ha enviado una macro que lo hace, pero solo
he conseguido que lo haga con el rango de una sola hoja, no de las 31
hojas:

Sub copiar() 'Título de la macro
x = 8 ' Variable inicial correspondiete a la primer fila
For Each celda In Range("'1'!B5:B29") 'Rango que abarca las filas a
validar
If celda <> 0 Then 'Si la variable "celda" es diferente de cero
entonces
Cells(x, 1) = celda 'Copia los valores mayores a cero a la
columna 2
x = x + 1 ' Va copiando de 1 en 1 las celdas con valores
mayores a cero
End If 'Fin de la condición
Next 'Sigue para la siguiente celda el mismo proceso
End Sub

A ver si en este foro encuentro una solución.

Gracias de antemano.

saludos

David
 

Leer las respuestas

#1 Ivan
11/12/2006 - 15:19 | Informe spam
hola David

podrias hacer algo asi

Sub copiar2() 'Título de la macro
dim hj as worksheet
for each hj in thisworkbook.worksheets
x = 8 ' Variable inicial correspondiete a la primer fila
For Each celda In .Range("'1'!B5:B29") 'Rango que abarca las filas a
validar
If celda <> 0 Then 'Si la variable "celda" es diferente de cero
entonces
worksheets("Hoja32").Cells(x, 1) = celda 'Copia los valores
mayores a cero a la
columna 2
x = x + 1 ' Va copiando de 1 en 1 las celdas con valores
mayores a cero
End If 'Fin de la condición
Next 'Sigue para la siguiente celda el mismo proceso
next
End Sub

no te fies mucho, pero por ahi podrian andar los tiros

un saludo y hasta pronto
Ivan

Preguntas similares