Saltar al contenido

pintar celda si el núemero es entero


Recommended Posts

publicado

Hola estimados foreros, espero puedan nuevamente apoyarme con lo que necesito, esta vez, busco pintar las celdas que tengan un número entero (en columna específica, para este ejemplo lo dejé en Columna A), busqué algún ejemplo por la web, lo más cercano que encontré no me sirve del todo, ya que no he podido adaptarla a mis necesidades, además mencionar que el/los archivo(s) al que necesito detectar los números enteros los recibo de manera masiva desde una fuente externa, por lo que varían sus nombres, nunca son iguales, adjunto archivo ejemplo y ahí mismo muestro visualmente lo que necesito finalmente. 

pintar si un valor es entero_ayudaexcel.xlsm

publicado

Con macro:

Private Sub CommandButton2_Click()
Dim i As Long
Application.ScreenUpdating = False
For i = 5 To Range("A5").End(xlDown).Row
   Hoja1.Cells(i, 1).Interior.ColorIndex = xlNone
   If Hoja1.Cells(i, 1).Value = Int(Hoja1.Cells(i, 1).Value) Then
      Hoja1.Cells(i, 1).Interior.ColorIndex = 40
   End If
Next i
End Sub

 

publicado

estimado @Antoni, gracias por tu respuesta, cómo puedo hacer correr esta macro con cualquier archivo que esté abierto (solo cambiar fila y columna donde leer los datos), como mencioné anteriormente , estos archivos me llegan de forma masiva, pero todos tienen la misma estructura, solo va cambiando nombre según batch que llegue. Ahora quise adaptar tu código a un archivo de estos masivos (eliminé el "Private") y se dispara un error... como aparece en la imagen, me parece que es por el nombre de archivo (Hoja1) ...creo que es por eso.

 

image.thumb.png.e912fa4878a0711178ec057639e0cf57.png

publicado

La macro actúa sobre la hoja activa.

Modifica las variables Fila y Columna a voluntad.

 

Sub ResaltarEnteros()
Dim i As Long, Fila As Long, Columna As String
Application.ScreenUpdating = False
'--
Fila = 8       '<---------------
Columna = "F"  '<---------------
'--
For i = Fila To Range(Columna & Fila).End(xlDown).Row
   With Range(Columna & i)
      .Interior.ColorIndex = xlNone
      If .Value = Int(.Value) Then .Interior.ColorIndex = 40
   End With
Next i
End Sub

 

publicado

Estimado @Antoni, disculpa mi retraso en comentar, acabo de correr tu código de macro, funciona a la perfección, muchas gracias nuevamente por tu apoyo, doy tema por solucionado, hasta una próxima.

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.