我制作了这个宏来突出显示相同工作表中的相同值,但我希望它一个接一个地突出显示所有数字。
Sub series()
'Definición de variables
Dim rango As String
Dim valor As String
Dim resultado As Range
Dim primerResultado As String
Dim cont As Integer
'Solicitar información al usuario
rango = "A1:XFD1048576"
valor = InputBox("Ingresa el VALOR a buscar:")
If valor = "" Then Exit Sub
'Inicializar contador de coincidencias
cont = 0 'Primera búsqueda del valor dentro del rango
Set resultado = Range(rango).Find(What:=valor, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not resultado Is Nothing Then 'Si el resultado de la búsqueda no es vacío
primerResultado = resultado.Address
Do 'Inicia bucle para hacer varias búsquedas
cont = cont + 1
resultado.Interior.ColorIndex = 4 'Cambia el color de fondo de la celda
Set resultado = Range(rango).FindNext(resultado) 'Vuelve a buscar el valor
Loop While Not resultado Is Nothing And resultado.Address <> primerResultado
Else
cont = 0
MsgBox "Se encontraron " & cont & " coincidencias."
'valor = InputBox("Ingresa el VALOR a buscar:")
End If
Application.Run ("series")
'valor = InputBox("Ingresa el VALOR a buscar:")
'Muestra un cuadro de diálogo con el número de coincidencias
'MsgBox "Se encontraron " & cont & " coincidencias."
End Sub
答案 0 :(得分:0)
这将要求用户确认突出显示找到的每个单元格(未经测试)
Option Explicit
Public Sub series()
'Definición de variables (Definition of variables)
Dim rango As String, valor As String, resultado As Range
Dim primerResultado As String, cont As Integer
'Solicitar información al usuario (Get information from the user)
rango = ActiveSheet.UsedRange
valor = InputBox("Ingresa el VALOR a buscar:")
If valor = "" Then Exit Sub
cont = 0 'Inicializar contador de coincidencias (Initialize Find)
'Primera búsqueda del valor dentro del rango (First search for value in the range)
Set resultado = Range(rango).Find(What:=valor, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not resultado Is Nothing Then 'Si el resultado de la búsqueda no es vacío
primerResultado = resultado.Address
Do 'Inicia bucle para hacer varias búsquedas
If MsgBox("Resaltar celular?", vbYesNo) = vbYes Then
cont = cont + 1
resultado.Interior.ColorIndex = 4 'Cambia el color de fondo de la celda
End If
Set resultado = Range(rango).FindNext(resultado) 'Vuelve a buscar el valor
Loop While Not resultado Is Nothing And resultado.Address <> primerResultado
Else
MsgBox "Se encontraron " & cont & " coincidencias."
End If
End Sub