簡體   English   中英

如何比較同一工作表中Excel中的兩列?

[英]How to Compare Two Columns in Excel in the Same Sheet?

我做了這個宏,以在同一工作表中突出顯示相同的值,但我希望它一步一步地不突出顯示所有數字。

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

這將要求用戶確認以突出顯示找到的每個單元格(未測試)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM