1

私は今、VBA Excel の最初のコースを受講しています。私は VBA の初心者なので、おそらく、あなたの助けを借りて、VBA プログラミングで最善を尽くすための知識を得ることができます。2 つの列を比較する必要があります。私がする必要があるのは、同じデータを探して強調表示することですが、同じ行の同じデータのみが強調表示されます。別の行のデータは無視されます。お願い助けて。

ここに私のコードコードがあります:

Sub Compare()
Dim Col1 As Range
Dim Col2 As Range

    Set Col1 = Application.InputBox("Select First Column to Compare", Type:=8)


    If Col1.Columns.Count > 1 Then

      Do Until Col1.Columns.Count = 1

        MsgBox "You can only select 1 column"
        Set Col1 = Application.InputBox("Select First Column to Compare", Type:=8)

      Loop

    End If


    Set Col2 = Application.InputBox("Select Second Column to Compare", Type:=8)


    If Col2.Columns.Count > 1 Then

      Do Until Col2.Columns.Count = 1

        MsgBox "You can only select 1 column"
        Set Col2 = Application.InputBox("Select Second Column to Compare", Type:=8)

      Loop

    End If


  If Col2.Rows.Count <> Col1.Rows.Count Then

    Do Until Col2.Rows.Count = Col1.Rows.Count

      MsgBox "The second column must be the same size as the first"
      Set Col2 = Application.InputBox("Select Second Column to Compare", Type:=8)

    Loop

  End If


  If Col1.Rows.Count = 65536 Then


    Set Col1 = Range(Col1.Cells(1), Col1.Cells(ActiveSheet.UsedRange.Rows.Count))
    Set Col2 = Range(Col2.Cells(1), Col2.Cells(ActiveSheet.UsedRange.Rows.Count))


  End If



  Dim intCell As Long


  For intCell = 1 To Col1.Rows.Count


    If Col1.Cells(intCell) = Col2.Cells(intCell) Then

      Col1.Cells(intCell).Interior.Color = vbYellow
      Col2.Cells(intCell).Interior.Color = vbYellow

    End If
  Next

End Sub
4

0 に答える 0