Como selecciono mediante macro solo las celdas con datos de una columna que toda contiene formulas

se tiene en una columna unas formulas que ejecutan un resultado y requiero seleccionar mediante una macro la selección unicamente de las celdas que muestran valores o datos.

1 respuesta

Respuesta
1

Te mando mi solución, sigue mis pasos:

-Primero marca con el ratón las celdas de esa columna que quieres analizar

-Después de que estén marcadas las celdas anteriores ejecuta esta macro:

Sub prueba()
'por luismondelo
For Each celda In Selection
If celda.Value > 0 And celda.Value <> "" Then
lista = lista & "," & celda.Address(False, False)
End If
Next
lista = Mid(lista, 2, Len(lista) - 1)
MsgBox lista
Range(lista).Select
End Sub

Si quieres hacerlo si que tengas que marcarlo antes, tendrás que cambiar solo la palabra Selection de la macro por algo así: range("a2:a100") para analizar, por ejemplo, las celdas desde la a2 hasta la a100.

Por favor recuerda finalizar la consulta, esto es importante para el foro

Gracias por su pronta y amable respuesta señor Luis Mondelo; la macro que me ha enviado sugiere la presentación de un mensaje que muestra las celdas seleccionadas y al dar click en aceptar me saca un aviso de error: "se ha producido el error 1004 en tiempo de ejecución- error en el método range de objeto_ global.

Dicho mensaje me exige una explicación o aclaración de mi pregunta:

tengo en la columna AQ una serie de datos que se presentan por la ejecución de una formula, estos resultados se dan en forma discontinua desde la fila 2 hasta la 7500 aprox.

lo que debo hacer es tomar cada una de las celdas que presentan algún tipo de datos y copiarlas de forma agrupada sin blancos en la columna BS.

Respetado Señor Luis Modelo, como vera la cantidad de datos a manejar es bastante amplia y dispendiosa, asi que veo que usted comprende mejor que Yo como hacer lo posible mediante macro.

de nuevo muchas gracias y espero su respuesta, hasta pronto.

Josem.

Mándame el archivo y te mostraré como hacerlo

[email protected]

Identifícate en el mail con el enunciado de la pregunta

De todas formas prueba ahora con esta macro y me cuentas

Sub prueba()
'por luismondelo
For Each celda In range("aq2:aq"&range("aq65000").end(xlup).row)
If celda.Value > 0 And celda.Value <> "" Then
lista = lista & "," & celda.Address(False, False)
End If
Next
lista = Mid(lista, 2, Len(lista) - 1)
Range(lista).Select
End Sub

Gracias por el favor, le envío archivo

¿Has probado la última macro que te envié?

si, tampoco me funciona, te he enviado un archivo con mayor detalles

al Email, te agradezco me ayudes.

nos vemos

Ya te he respondido por mail

Recuerda finalizar la consulta

EXCELENTE TRABAJO, FANTÁSTICO FAVOR, LOABLE CONDUCTA Y DILIGENTE RESPUESTA; TOTALMENTE AGRADECIDO Y COMPLACIDO.

GRACIAS A SU MACRO PODRE CONTINUAR CON MI TRABAJO.

NOS HABLAMOS, HERMANO.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas