이 기사에서는 두 범위를 비교하고 일치하지 않는 셀을 찾는 사용자 양식을 만듭니다.

원시 데이터는 대상 모델과 원하는 모델의 데이터로 구성됩니다. 대상 및 원하는 모델이 일치하지 않는 레코드를 찾고 싶습니다.

ArrowRawData

두 범위를 입력으로 받아들이는 사용자 양식을 만들었습니다. 이 두 범위를 비교하여 일치하지 않는 셀을 찾습니다.

ArrowUserform

제출 버튼을 클릭하면 두 범위를 비교하고 출력을 반환합니다. 일치하지 않는 셀 수를 표시하는 메시지 상자가 표시됩니다.

ArrowOutput1

또한 새 통합 문서에서 일치하지 않는 셀에 대한 데이터를 제공합니다.

ArrowOutput2

코드 설명

Rng1 = Range (UserForm3.RefEdit1) 설정

위 코드는 사용자 폼에서 범위 값을 가져 오는 범위 개체의 개체를 만드는 데 사용됩니다.

Rng1이 Nothing 또는 Rng2가 Nothing이면 Exit Sub 위 코드는 두 범위에 값이 포함되어 있는지 확인하는 데 사용됩니다. 범위 중 하나가 비어 있으면 프로 시저 내의 나머지 코드를 건너 뜁니다.

With Rng1 LR1 = .Rows.Count LC1 = .Columns.Count End With 위의 코드는 범위 내의 행 및 열 수를 가져 오는 데 사용됩니다.

CellValue1 = Rng1.Cells (r, c) .FormulaLocal 위 코드는 r 행과 c 열의 셀 값을 가져 오는 데 사용됩니다.

If CellValue1 <> CellValue2 Then 위 코드는 변수 CellValue1과 CellValue2의 값을 비교하는 데 사용됩니다.

아래 코드를 따르세요

Option Explicit

Sub CallingUserform()

UserForm3.Show

End Sub

'Insert below code in userform

Option Explicit

Private Sub CommandButton1_Click()

'Declaring variables

Dim Rng1, Rng2 As Range

Dim r, DiffCount As Long, c As Integer

Dim LR1 As Long, LC1 As Integer

Dim CellValue1 As String, CellValue2 As String

Dim NewWB As Workbook

'Getting the two range set for comparing

Set Rng1 = Range(UserForm3.RefEdit1)

Set Rng2 = Range(UserForm3.RefEdit2)

'Unloading the userform

Unload Me

'Disabling screen updates

Application.ScreenUpdating = False

'Checking whether Rng1 and Rng2 contains value

If Rng1 Is Nothing Or Rng2 Is Nothing Then Exit Sub

'Getting count of number of rows and columns in Rng1

With Rng1

LR1 = .Rows.Count

LC1 = .Columns.Count

End With

DiffCount = 0

'Adding new workbook for output

Set NewWB = Workbooks.Add



'Looping through all the columns and rows in the range

For c = 1 To LC1

For r = 1 To LR1



'Getting value from particular cell from both the ranges

CellValue1 = Rng1.Cells(r, c).FormulaLocal

CellValue2 = Rng2.Cells(r, c).FormulaLocal



'Comparing value of cell from both ranges

If CellValue1 <> CellValue2 Then



'Getting count of numbers of cells with different values

DiffCount = DiffCount + 1



'Adding unequal values to new workbook

Cells(r, c).Value = "'" & CellValue1 & " <> " & CellValue2

End If



Next r

Next c

'Display count of unequal cells in both range

MsgBox DiffCount & " cells contain different formulas!", _

vbInformation, "Compare Worksheet Ranges"

'Enabling screen updates

Application.ScreenUpdating = True

Set NewWB = Nothing



End Sub

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요