Saltar al contenido

macro que busque en una columna dato no numerico y celda coloreada


viejo

Recommended Posts

publicado

hola amigos tengo una gran duda:concern: y esperando me puedan ayudar a resolverlo porque lo que quiero hacer es poder hacer una macro que dentro de una hoja y una columna en especifico me busque:

1) la celda que esté coloreada

2) el contenido no numerico de la celda (es decir lo que sea numerico lo deje)

una vez que haya encontrado ya sea una u otra o ambas condiciones (las anteriores) seleccione toda la fila...esto es en toda la hoja dejando seleccionado lo ya encontrado,,,dejandolo disponible :livid:como para poderlo copia,cortar,pintar mover etc.

sera posible hacer eso?:abnormal:

ok perdon es que soy nuevo en el foro asi como en vba, aunque la verdad esto si me emociona, lo que intento hacer que la macro se vaya de fila en fila preguntandose "practicamente" si el contenido en la cierta celda es un dato no numerico y asi tambien si este esta pintado, anexo codigo

PHP]

Private Sub buscarnonumerico()

Dim celdasiguiente As String

Dim strfila$

Dim valorcelda As Single

parar = False

'Selecciona hoja deseada

'Sheets(Hoja1).Select

'nos posicionamos en la celda donde iniciaremos la busqueda

Range("A1").Select

If Not IsNumeric(ActiveCell.Activate) Then

Do

celdasiguiente = celdasiguiente + 1

valorcelda = Worksheets("Hoja1").Range("A" & Format(strfila$)).Value

Loop While (parar = False)

Else

parar = True

valorcelda = ActiveCell

ActiveCell.EntireRow.Select

End If

End Sub

[/php]

Invitado Cacho R
publicado
... esperando me puedan ayudar a resolverlo porque lo que quiero hacer es poder hacer una macro ...

Para ayudarte a desarrollar esa macro que mencionas tienes que subir tu archivo en el que se vean los detalles que describes, y los intentos de código que no te han resultado para -así- orientarte adecuadamente.

Saludos, Cacho R.

publicado
Para ayudarte a desarrollar esa macro que mencionas tienes que subir tu archivo en el que se vean los detalles que describes, y los intentos de código que no te han resultado para -así- orientarte adecuadamente.

Saludos, Cacho R.

anexo codigo, pero no se como anexar archivo

- - - - - Mensaje combinado - - - - -

ya puse el archivo espero se me entienda lo que trato de explicar

macrononumericoypintado.xls

publicado

Te adjunto lo que has pedido, colócate en la celda que desees y ves ejecutando la macro de forma sucesiva.


Private Sub BuscarNoNumérico_Color()
For fila = ActiveCell.Row + 1 To Range("A" & Rows.Count).End(xlUp).Row 'Última fila con datos
If IsNumeric(Range("A" & fila)) = False Or _
Not Range("A" & fila).Interior.ColorIndex = xlNone Then
Rows(fila).Select
Exit For
End If
Next
End Sub
[/CODE]

Invitado Cacho R
publicado

Hola! hermesc

La solución que te ofrece el Gran Antoni se corresponde -definitivamente- con lo que has expresado como necesidad.

Sin embargo permíteme decirte que cuando mencionas aquello de - "... dejándolo disponible :livid:como para poderlo copia,cortar,pintar mover etc. ..." tiendo a pensar que lo que nos has planteado constituye un pequeño grano de arena dentro del médano de dificultades que tienes por delante respecto de tu aprendizaje sobre VBA.

Dos alternativas:

- Si toda tu dificultad se resume en lo que has planteado inicialmente, pues toma la impoluta solución brindada por Antoni.

- Si lo que nos has planteado es sólo una parte de un problema más amplio: es éste el momento de mencionarlo, antes que avancemos más "a ciegas".

Saludos, Cacho R.

publicado

de antemano muchas gracias macroantonio,,,asi es, si es un pequeño grano de arena por asi decirlo, siempre he creido que cuando no podemos resolver algo lo dividamos por eso es que solo plante mi problema hasta ese punto; estoy agradecido con el codigo de macroantoni al leerlo veo que si es lo que necesito pero curiosamente trato de hacerlo jalar en mi excel y no furula (tendré que ver porque), me suena muy logico el procedimiento cronologico de ese codigo y me ha despertado otras ideas y creo que se ha resulto mi duda

- - - - - Mensaje combinado - - - - -

ya logre que funcionara pero ¿si quisiera que en vez de que funcione para una sola fila que funcionara para seleccionar todas las filas hasta el final?

Invitado Cacho R
publicado
... ya logre que funcionara pero ¿si quisiera que en vez de que funcione para una sola fila que funcionara para seleccionar todas las filas hasta el final?

¿Viste que había más "tela para cortar"?...

(jajajaja)

Nuevamente te pregunto:

¿Y después de seleccionar las filas? ¿Cómo sigue "la cosa"?

publicado

Aquí esta la selección completa, listo para copiar/mover:

Private Sub BuscarNoNumérico_Color()
Dim rango As Range
inicio = ActiveCell.Row - 1
For fila = inicio + 1 To Range("A" & Rows.Count).End(xlUp).Row 'Última fila con datos
If IsNumeric(Range("A" & fila)) = False Or _
Not Range("A" & fila).Interior.ColorIndex = xlNone Then
If rango Is Nothing = True Then
Set rango = Rows(fila)
Else
Set rango = Application.Union(rango, Rows(fila))
End If
End If
Next
If rango Is Nothing = False Then rango.Select
End Sub


[/CODE]

Solo para tu información, aunque lo parezca, las celdas coloreadas por la aplicación de un formato condicional no tienen color, por lo que no pueden ser detectadas a partir de los objetos [i][b].Font e[/b][/i] [i][b].Interior [/b][/i]a través de sus propiedades [i][b].Color y ColorIndex.[/b][/i]

publicado

realmente estoy asombrado y motivado, al principio no creia en los foros pero que realmente si sirve porque la retroalimentacion es muy buena, muchas gracias macroantonio y con respecto a lo que preguntas de que si "¿que sigue?", pues esto me ayuda muchisimo a recuperar informacion de una pequeña base de datos de excel de 40000 registros donde dichos registros estan puestos erroneamente tomando como base una columna "x" e intentaron poner un numero progresivo sobre cada una de las filas interrumpiendo la continuidad por ese criterio referido en el tema, ahora ya con esta macro será muchisima mas facil obtener esos registros erroneos y sacarlos de la base de datos para posteriormente eliminar esas columnas vacias. Tambien gracias por la informacion macroantonio habia sospechado algo como lo que me dices, por eso me confié porque me percate que habian sido coloreadas manualmente por asi decirlo. Con esto doy por resuelta mi necesidad...no se que mas puedo agregar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.