(parece que) ya pasaste de nuevo por tu consulta, asi que, en tanto te decides a soltar mas detales...
como tus datos fueron insuficientes... analiza la muestra del adjunto (m365)
1) en las columnas A,B y C los datos donde buscar los valores
(si estan en otro libro, cambia las referencias en la primera matriz en las columnas E,F y G)
2) en [E1] indicas el importe a buscar y en [E2] el '%' de tolerancia (+/-), los encontrados se derraman en la matriz [E4#]
3) en [I1] puedes elegir el monto filtrado que consideres mas apropiado (lista tomada de [E4#]), [I2] indica si hay mas de uno
4) en la segunda matriz [I5#] se listan los (RE)filtrados (OJO: que pudiera haber todavia mas de uno)
5) si hubiera mas de uno, la celda [M2] es para elegir de cual de ellos se rescatan los datos (mostrado en [M5])
puede ser que sobren pasos, filtros, etc, pero la falta de detalles es terreno fertil para una imaginacion generosa
selecciona tolerancia en lista (ayudaExcel).xlsx
Por
Héctor Miguel, · publicado
Aunque ya existe el método de seleccionar todas las hojas y dar el comando control+b, les comparto esta forma..
podemos crear un botón en nuestra hoja de calculo para no entrar hasta el código.
Sub Macro1()
Dim x As String, Hoja As Worksheet, Nombre As String, msg As String
Nombre = InputBox("Introduce el nombre o dato a buscar:")
For Each Hoja In ThisWorkbook.Worksheets
On Error Resume Next
If Nombre <> "" Then
x = Hoja.Cells.Find(What:=Nombre, _
After:=Hoja.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).Address
If Err.Number = 0 Then
If msg = "" Then _
msg = "se ha encontrado el texto buscado en:" _
& Chr(13) & Chr(13)
msg = msg & Hoja.Name & "!" & x & Chr(13)
End If
End If
On Error GoTo 0
Next Hoja
If msg <> "" Then MsgBox msg
End Sub
saludos