Modificación de macro de excel buscar numero

Para dante amor

Señor dante es para modificar esta macro que en vez de colocar la hoja donde se encuentra el numero mejor me coloque el primer numero de la columna donde se encuentra muchas gracias

Sub BuscarNumero()
'Por.Dante Amor
Dim u As Double, i As Double
Dim h1 As Object
Dim h As Integer
Dim cad As String
Dim b As Object
'
Application.ScreenUpdating = False
Application.StatusBar = False
Set h1 = Sheets("Hoja11")
'
h1.Columns("CC").ClearContents
u = h1.Range("CB" & Rows.Count).End(xlUp).Row
For i = 1 To u
Application.StatusBar = "Procesando registro: " & i & " de: " & u
cad = ""
For h = 1 To 10
Set b = Sheets(h).UsedRange.Find(h1.Cells(i, "CB"), lookat:=xlWhole, LookIn:=xlValues)
If Not b Is Nothing Then
cad = cad & ", " & Sheets(h).Name
End If
Next
h1.Cells(i, "CC") = cad
Next
Application.ScreenUpdating = True
Application.StatusBar = False
MsgBox "Fin"
End Sub

1 respuesta

Respuesta
2

Envíame un correo nuevo con tu archivo y con datos de prueba, me explicas uno de los ejemplos y me dices qué esperas de resultado

No recibí tu correo, pero te anexo unas opciones.

No entendí si quieres el nombre de la hoja donde se encontró el dato.

El número de fila.

El número de columna

O qué quisiste decir con esto:

Mejor me coloque el primer numero de la columna donde se encuentra

Por eso te anexo varias opciones:

La primera es poner el nombre de la hoja:

Sub BuscarNumero()
'Por.Dante Amor
    Dim u As Double, i As Double
    Dim h1 As Object
    Dim h As Integer
    Dim cad As String
    Dim b As Object
    '
    Application.ScreenUpdating = False
    Application.StatusBar = False
    Set h1 = Sheets("Hoja11")
    '
    h1.Columns("CC").ClearContents
    u = h1.Range("CB" & Rows.Count).End(xlUp).Row
    For i = 1 To u
    Application.StatusBar = "Procesando registro: " & i & " de: " & u
    cad = ""
    For h = 1 To 10
        Set b = Sheets(h).UsedRange.Find(h1.Cells(i, "CB"), lookat:=xlWhole, LookIn:=xlValues)
        If Not b Is Nothing Then
            'cad = cad & ", " & Sheets(h).Name
            cad = Sheets(h).Name
            Exit For
        End If
    Next
    h1.Cells(i, "CC") = cad
    Next
    Application.ScreenUpdating = True
    Application.StatusBar = False
    MsgBox "Fin"
End Sub

Si quieres el número de fila, cambia esta línea en la macro

cad = Sheets(h).Name

Por esto

cad = b.row

Si quieres el número de columna, pon esto:

cad = b.Column

Otra opción, si quieres el dato de la primer fila de la columna donde se encontró, entonces pon esto:

cad = Sheets(h). Cells(1, b.Column)

Prueba con las opciones, para ver cuál necesitas.

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas