[HELP] Cần giúp về vấn đề macro kết hợp lọc dữ liệu

Liên hệ QC

tranlamtra

Thành viên mới
Tham gia
1/11/18
Bài viết
4
Được thích
0
Em là newbie , em đang dùng macro kết hợp lọc để xuất dữ liệu. Nhưng vấn đề ở chổ em muốn biến đổi nó thành kiểu nhập lưu. Khi nhập lọc thì dữ liệu trả về dòng cuối kế tiếp chứ không phải thay thế dữ liệu lần nhập trước. Các pro giúp em với, em đội ơn nhiều
 

File đính kèm

  • Book1.xlsm
    19.3 KB · Đọc: 2
Em là newbie , em đang dùng macro kết hợp lọc để xuất dữ liệu. Nhưng vấn đề ở chổ em muốn biến đổi nó thành kiểu nhập lưu. Khi nhập lọc thì dữ liệu trả về dòng cuối kế tiếp chứ không phải thay thế dữ liệu lần nhập trước. Các pro giúp em với, em đội ơn nhiều
ĐÂY EM XEM NHÉ
 

File đính kèm

  • Book1.xlsm
    21.1 KB · Đọc: 14
ôi...cảm ơn anh nhiều nhiều lắm :((((
 
híc anh ơi. em áp dụng công thức của anh vào file chính của em lại không được ạ :(
Anh giúp em làm cái file chính của em với ạ. Nó chỉ khác là xuất dữ liệu thêm 2 cột nữa thôi ạ. Dữ liệu vẫn ở tên Sheet1 và Sheet2 như bài ví dụ nha anh. Chân thành cảm ơn anh nhiều
 

File đính kèm

  • Quan-ly-ban-hang macro.xlsm
    714.6 KB · Đọc: 10
híc anh ơi. em áp dụng công thức của anh vào file chính của em lại không được ạ :(
Anh giúp em làm cái file chính của em với ạ. Nó chỉ khác là xuất dữ liệu thêm 2 cột nữa thôi ạ. Dữ liệu vẫn ở tên Sheet1 và Sheet2 như bài ví dụ nha anh. Chân thành cảm ơn anh nhiều
em thay bằng code này nhé
Mã:
Sub nhap()
Dim a As Long, dk As String, b As Long
Dim arr
dk = Sheet3.Range("B1").Value
arr = Sheet2.Range("a2:d21" & Sheet1.Range("c" & Rows.Count).End(xlUp).Row).Value
ReDim arr1(1 To UBound(arr, 1), 1 To 3)
For i = 1 To UBound(arr, 1)
    If UCase(arr(i, 1)) = UCase(dk) Then
       a = a + 1
       arr1(1, 1) = arr(i, 1)
       arr1(a, 2) = arr(i, 3)
       arr1(a, 3) = arr(i, 4)
    End If
Next i
b = Sheet3.Range("c" & Rows.Count).End(xlUp).Row + 1
If a Then Sheet3.Range("b" & b).Resize(a, 3).Value = arr1
End Sub
 
em thay bằng code này nhé
Mã:
Sub nhap()
Dim a As Long, dk As String, b As Long
Dim arr
dk = Sheet3.Range("B1").Value
arr = Sheet2.Range("a2:d21" & Sheet1.Range("c" & Rows.Count).End(xlUp).Row).Value
ReDim arr1(1 To UBound(arr, 1), 1 To 3)
For i = 1 To UBound(arr, 1)
    If UCase(arr(i, 1)) = UCase(dk) Then
       a = a + 1
       arr1(1, 1) = arr(i, 1)
       arr1(a, 2) = arr(i, 3)
       arr1(a, 3) = arr(i, 4)
    End If
Next i
b = Sheet3.Range("c" & Rows.Count).End(xlUp).Row + 1
If a Then Sheet3.Range("b" & b).Resize(a, 3).Value = arr1
End Sub
hi được rồi. thank anh nhiều ạ
 
Web KT
Back
Top Bottom