hadoan-pap
Thành viên tiêu biểu
- Tham gia
- 8/7/15
- Bài viết
- 460
- Được thích
- 19
Em chào mọi người!
Em có chương trình tự động mở các file excel trong 1 folder, sau đó đồng bộ dữ lieu trên các file này vào 1 file khác.
Tuy nhiên trong đoạn code của em bên dưới thì đang chưa được như mong muốn của em, vì nó cứ đồng bộ 1 file sang là xóa bỏ toàn bộ dữ liệu cũ.
Em muốn nó đồng bộ dữ liệu sang, nhưng chỗ nào có dữ liệu ở cột L thì nó để im không làm gì ạ. Tức là nó chỉ đồng bộ dữ liệu mà không xóa cái hiện có dữ liệu ở cột L
Rất mong mọi người sửa giúp em ạ.
Em xin cảm ơn!
Dim arr, arr1
Dim k As Integer
Dim i, j As Long
Dim i1 As Integer
arr = ActiveWorkbook.Sheets("Sheet1").Range("B15:F" & ActiveWorkbook.Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row).Value 'lây giá tri vao mang
arr1 = Sheet2.Range("B3:R" & Sheet1.Range("B" & Rows.Count).End(xlUp).Row).Value 'lây giá tri vao mang
ReDim arr2(1 To UBound(arr1, 1), 1 To 1)
For i = 1 To UBound(arr1, 1)
For j = 1 To UBound(arr, 1)
If UCase(arr1(i, 1)) = UCase(arr(j, 1)) Then
arr2(i, 1) = UCase(arr(j, 5))
''arr3(i, 1) = UCase(arr(j, 8))
End If
Next j
Next i
Sheet2.Range("L3").Resize(UBound(arr1, 1), 1).Value = arr2
Em có chương trình tự động mở các file excel trong 1 folder, sau đó đồng bộ dữ lieu trên các file này vào 1 file khác.
Tuy nhiên trong đoạn code của em bên dưới thì đang chưa được như mong muốn của em, vì nó cứ đồng bộ 1 file sang là xóa bỏ toàn bộ dữ liệu cũ.
Em muốn nó đồng bộ dữ liệu sang, nhưng chỗ nào có dữ liệu ở cột L thì nó để im không làm gì ạ. Tức là nó chỉ đồng bộ dữ liệu mà không xóa cái hiện có dữ liệu ở cột L
Rất mong mọi người sửa giúp em ạ.
Em xin cảm ơn!
Dim arr, arr1
Dim k As Integer
Dim i, j As Long
Dim i1 As Integer
arr = ActiveWorkbook.Sheets("Sheet1").Range("B15:F" & ActiveWorkbook.Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row).Value 'lây giá tri vao mang
arr1 = Sheet2.Range("B3:R" & Sheet1.Range("B" & Rows.Count).End(xlUp).Row).Value 'lây giá tri vao mang
ReDim arr2(1 To UBound(arr1, 1), 1 To 1)
For i = 1 To UBound(arr1, 1)
For j = 1 To UBound(arr, 1)
If UCase(arr1(i, 1)) = UCase(arr(j, 1)) Then
arr2(i, 1) = UCase(arr(j, 5))
''arr3(i, 1) = UCase(arr(j, 8))
End If
Next j
Next i
Sheet2.Range("L3").Resize(UBound(arr1, 1), 1).Value = arr2