hoabattu3387
Thành viên chính thức
- Tham gia
- 11/9/08
- Bài viết
- 91
- Được thích
- 2
Hi cả nhà!
Mọi người tìm lỗi giúp mình đoạn code sau sai chỗ nào nhé. Mục đích của mình là so sánh 2 cột D, E và 2 cột A,B, nếu có sự khác nhau bất kỳ nào của D so với A, hoặc E so với B thì sẽ lấy dữ liệu tương xứng sang sheets 2. Lẽ ra nếu đúng thì theo ví dụ sau 2 dòng này 427360 427361 VÀ 427367 427368 nhưng mình ko hiểu sai gì mà nó lại lấy tất cả sang sheets 2
Sub Oval1_Click()
Dim a, b, i, j, t, k As Integer
Dim arr(), arr1(), arr2()
Set check = ThisWorkbook.Sheets(1)
a = check.Range("a65536").End(xlUp).Row
b = check.Range("d65536").End(xlUp).Row
ReDim arr(1 To b, 1 To 2)
ReDim arr1(1 To a, 1 To 2)
ReDim arr2(1 To b, 1 To 2)
For t = 1 To a
arr1(t, 1) = check.Range("a" & t)
arr1(t, 2) = check.Range("b" & t)
Next
For k = 1 To b
arr(k, 1) = check.Range("d" & k)
arr(k, 2) = check.Range("e" & k)
Next
For i = 1 To b
For j = 1 To a
If arr(i, 1) = arr1(j, 1) And arr(i, 2) = arr1(j, 2) Then
Exit For
Else
arr2(i, 1) = arr(i, 1)
arr2(i, 2) = arr(i, 2)
End If
Next
Next
ThisWorkbook.Sheets(2).Range("A1:B" & b) = arr2
End Sub
Mọi người tìm lỗi giúp mình đoạn code sau sai chỗ nào nhé. Mục đích của mình là so sánh 2 cột D, E và 2 cột A,B, nếu có sự khác nhau bất kỳ nào của D so với A, hoặc E so với B thì sẽ lấy dữ liệu tương xứng sang sheets 2. Lẽ ra nếu đúng thì theo ví dụ sau 2 dòng này 427360 427361 VÀ 427367 427368 nhưng mình ko hiểu sai gì mà nó lại lấy tất cả sang sheets 2
Sub Oval1_Click()
Dim a, b, i, j, t, k As Integer
Dim arr(), arr1(), arr2()
Set check = ThisWorkbook.Sheets(1)
a = check.Range("a65536").End(xlUp).Row
b = check.Range("d65536").End(xlUp).Row
ReDim arr(1 To b, 1 To 2)
ReDim arr1(1 To a, 1 To 2)
ReDim arr2(1 To b, 1 To 2)
For t = 1 To a
arr1(t, 1) = check.Range("a" & t)
arr1(t, 2) = check.Range("b" & t)
Next
For k = 1 To b
arr(k, 1) = check.Range("d" & k)
arr(k, 2) = check.Range("e" & k)
Next
For i = 1 To b
For j = 1 To a
If arr(i, 1) = arr1(j, 1) And arr(i, 2) = arr1(j, 2) Then
Exit For
Else
arr2(i, 1) = arr(i, 1)
arr2(i, 2) = arr(i, 2)
End If
Next
Next
ThisWorkbook.Sheets(2).Range("A1:B" & b) = arr2
End Sub