Macro para buscar nombres en Hoja Excel

Tengo esta macro que me buscar los nombre repetidos en cada hoja de mi archivo, funciona muy bien, solo que quiero agregarlo que solo me busque en las hojas que se muestran y no las que estén ocultas momentáneamente.

Gracias de antemano su ayuda

Sub Buscar_Nombres()
'
Set h1 = Sheets("MAESTRO") 'hoja de nombres
col = "D" 'columna de nombres
h1.Columns(col).Interior.ColorIndex = xlNone
For i = 2 To h1.Range(col & Rows.Count).End(xlUp).Row
If h1.Cells(i, col).Value <> "" Then
For Each h In Sheets
If h.Name <> h1.Name Then
Set b = h.Columns("B:E").Find(h1.Cells(i, col).Value, lookat:=xlWhole)
If Not b Is Nothing Then
h1.Cells(i, col).Interior.ColorIndex = 10
End If
End If
Next
End If
Next
MsgBox "fin"
End Sub

Respuesta
1

Podés hacer que primero se fije si la hoja está visible, algo más o menos así...

Sub Buscar_Nombres()
Set h1 = Sheets("MAESTRO") 'hoja de nombres
col = "D" 'columna de nombres
h1.Columns(col).Interior.ColorIndex = xlNone
For i = 2 To h1.Range(col & Rows.Count).End(xlUp).Row
If h1.Cells(i, col).Value <> "" Then
For Each h In Sheets
   If h.Visible Then
      If h.Name <> h1.Name Then
...
   End If
Next
MsgBox "fin"
End Sub

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas