Cần mọi người trợ giúp về code

Liên hệ QC

ducmagic88

Thành viên chính thức
Tham gia
14/4/20
Bài viết
65
Được thích
4
Em chào các bác! các bác cho em hỏi code của em sai ở đâu, tại sao e muốn lấy dữ liệu từ sheet data sang sheet CHI_TIET_131 lại không chạy ạ. Em đang muốn khi gõ tên khách hàng ở sheet CHI_TIET_131 thì code tự động lấy bên sheet Data sang ạ, e đang học viết nên không biết mình sai chỗ nào, các bác giúp em với nhé! Em cảm ơn!

Sub Locdulieu()
Dim lr As Long, arr As Variant, i As Long, k As Long, kq()
With Sheet2
lr = .Range("E65000").End(xlUp).Row
arr = .Range("B2:K" & lr).Value
End With
With Sheet3
ReDim kq(1 To UBound(arr), 1 To 6)

For i = 1 To UBound(arr)
If Not arr(i, 4) = .Range("C1").Value Then
Exit Sub
Else
k = k + 1
kq(k, 1) = arr(i, 1)
kq(k, 2) = arr(i, 3)
kq(k, 3) = arr(i, 10)
kq(k, 4) = arr(i, 8)
kq(k, 5) = arr(i, 7)
kq(k, 6) = arr(i, 9)
End If
Next i

.Range("A6:F100000").ClearContents
.Range("A6").Resize(k, 6).Value = kq

End With
End Sub
 

File đính kèm

  • Cong_No_131.xlsm
    107.1 KB · Đọc: 11
Em chào các bác! các bác cho em hỏi code của em sai ở đâu, tại sao e muốn lấy dữ liệu từ sheet data sang sheet CHI_TIET_131 lại không chạy ạ. Em đang muốn khi gõ tên khách hàng ở sheet CHI_TIET_131 thì code tự động lấy bên sheet Data sang ạ, e đang học viết nên không biết mình sai chỗ nào, các bác giúp em với nhé! Em cảm ơn!

Sub Locdulieu()
Dim lr As Long, arr As Variant, i As Long, k As Long, kq()
With Sheet2
lr = .Range("E65000").End(xlUp).Row
arr = .Range("B2:K" & lr).Value
End With
With Sheet3
ReDim kq(1 To UBound(arr), 1 To 6)

For i = 1 To UBound(arr)
If Not arr(i, 4) = .Range("C1").Value Then
Exit Sub
Else
k = k + 1
kq(k, 1) = arr(i, 1)
kq(k, 2) = arr(i, 3)
kq(k, 3) = arr(i, 10)
kq(k, 4) = arr(i, 8)
kq(k, 5) = arr(i, 7)
kq(k, 6) = arr(i, 9)
End If
Next i

.Range("A6:F100000").ClearContents
.Range("A6").Resize(k, 6).Value = kq

End With
End Sub


Mình cũng chỉ biết giúp ntn
 

File đính kèm

  • Cong_No_131.xlsm
    116.4 KB · Đọc: 8
Upvote 0
@ Chủ bài đăng: Bạn thiết lập đứa con tinh thần của bạn 1 cách chân phương như sau, sẽ dễ thấy sơ sót của mình hơn:
PHP:
Sub LocDuLieu()
 Dim lR As Long, I As Long, K As Long
 Dim Arr As Variant, KQ()

 With Sheet2
    lR = .Range("E65000").End(xlUp).Row
    Arr = .Range("B2:K" & lR).Value
 End With
 With Sheet3
    ReDim KQ(1 To UBound(Arr), 1 To 6)
    For I = 1 To UBound(Arr)
        If Not Arr(I, 4) = .Range("C1").Value Then
            MsgBox I, , Not Arr(I, 4) = .Range("C1").Value
            Exit Sub
        Else
            K = K + 1
            KQ(K, 1) = Arr(I, 1):            KQ(K, 2) = Arr(I, 3)
            KQ(K, 3) = Arr(I, 10):            KQ(K, 4) = Arr(I, 8)
            KQ(K, 5) = Arr(I, 7):            KQ(K, 6) = Arr(I, 9)
         End If
    Next I
    .Range("A6:F100000").ClearContents
    .Range("A6").Resize(K, 6).Value = KQ
End With
End Sub
 
Upvote 0
@ Chủ bài đăng: Bạn thiết lập đứa con tinh thần của bạn 1 cách chân phương như sau, sẽ dễ thấy sơ sót của mình hơn:
...
Theo tôi thì bạn nên khuyên:
Chủ bài đăng: bạn nên sửa tiêu đề mọt cách roc rệt hơn, sẽ thấy bài ít cơ hội bị vào thùng rác.

Chú:
Điểm căn bản nhất: thớt nói là muốn "tự động lấy bên sheet Data" mà đọc trong code có thấy từ "Data" ở dòng nào đâu? 'CHI_TIET_131' cũng vậy?
 
Upvote 0
Theo tôi thì bạn nên khuyên:
Chủ bài đăng: bạn nên sửa tiêu đề mọt cách roc rệt hơn, sẽ thấy bài ít cơ hội bị vào thùng rác.

Chú:
Điểm căn bản nhất: thớt nói là muốn "tự động lấy bên sheet Data" mà đọc trong code có thấy từ "Data" ở dòng nào đâu? 'CHI_TIET_131' cũng vậy?
E cảm ơn ạ! e sẽ chú ý hơn về phần tiêu đề. Còn e gửi file trong đó có đề là sheet data và chitiet131 rồi ạ
 
Upvote 0
Em chào các bác! các bác cho em hỏi code của em sai ở đâu, tại sao e muốn lấy dữ liệu từ sheet data sang sheet CHI_TIET_131 lại không chạy ạ. Em đang muốn khi gõ tên khách hàng ở sheet CHI_TIET_131 thì code tự động lấy bên sheet Data sang ạ, e đang học viết nên không biết mình sai chỗ nào, các bác giúp em với nhé! Em cảm ơn!
Góp ý cho bạn:
1/ Tiêu đề bài viết nên rõ nghĩa, nên sửa là "Giúp code lọc dữ liệu 1 khách từ sheet DATA sang sheet CHI_TIET_131".
2/ Bạn nhờ giúp thì nên nêu cụ thể, rõ ràng vấn đề cần chứ không nên đưa 1 đống code làm gì (mất công đọc).
3/ Nếu chỉ lọc dữ liệu của 1 khách hàng thì có thể ngĩ ngay đến Advanced Filter hoặc Auto Filter.
 
Upvote 0
E cảm ơn ạ! e sẽ chú ý hơn về phần tiêu đề. Còn e gửi file trong đó có đề là sheet data và chitiet131 rồi ạ
Nói chuyện với tôi thì tránh viết tắt. Tôi lười đoán từ viết tắt lắm. 100% dâud óc của tôi giành vào việc suy nghĩ giải bài.
Vấn đề của code bạn là không hề có "data" và "chitiet...". Trong code của bạn chỉ nói đến sheet2 và sheet3. Và vì vậy, nó không đáp ứng yêu cầu.
Còn cái file có hay không thì thuộc về vấn đề khác.
 
Upvote 0
n nêu cụ thể, rõ ràng vấn đề cần chứ không nên đưa 1 đống code làm gì (mất công đọc).
Em cảm ơn bác đã góp ý ạ! Em sẽ lưu ý vào các bài sau
Bài đã được tự động gộp:

Nói chuyện với tôi thì tránh viết tắt. Tôi lười đoán từ viết tắt lắm. 100% dâud óc của tôi giành vào việc suy nghĩ giải bài.
Vấn đề của code bạn là không hề có "data" và "chitiet...". Trong code của bạn chỉ nói đến sheet2 và sheet3. Và vì vậy, nó không đáp ứng yêu cầu.
Còn cái file có hay không thì thuộc về vấn đề khác.
Em cảm ơn bác ạ, đáng lẽ ra em không nên đăng dòng code lên để mọi người hiểu lầm ạ, em sẽ rút kinh nghiệm ở các bài đăng sau ạ
Bài đã được tự động gộp:

Mình cũng chỉ biết giúp ntn
Em cảm ơn bác, nếu dữ liệu dài vượt qua các ô kẻ dòng thì có cách nào kẻ dòng cho các ô vượt qua không bác
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom