kayhangry
Thành viên mới
- Tham gia
- 11/10/20
- Bài viết
- 4
- Được thích
- 0
Hiện tại mình tìm được code đáp ứng nhu cầu của mình trên GPE rồi nhưng mình bị vướng như sau (code này tìm dữ liệu theo mã khách hàng):
1. Dữ liệu của mình có 12 cột, code này viết cho dữ liệu có 19 cột, mình xóa bớt cột: 4, 5, 6, 7, 17, 18, 19 thì code k chạy, mình muốn biết cách xóa cột mà code vẫn hoạt động.
Edit: Mình muốn xóa luôn những cột trống của 2 sheet vì đó là cột thừa không dùng đến mà khi xóa thì code k chạy nên mới để những cột trống đó đi hỏi mọi người cách chỉnh code.
2. Khai báo biến I, J, K có phải là chỉ các cột I, J, K trong sheet 1 k?
3. Chỗ "[A7].Resize..." bên dưới, đoạn đó code chỉ ghi đè đúng số dòng của loại mã mình chọn, nếu mã sau mà ít dòng hơn mã trước thì nó vẫn hiện dữ liệu thừa của mã trước. Nếu mình muốn khi lọc xong thì xóa hết các dữ liệu khác mã chọn thì làm thế nào (hoặc có thể do dữ liệu mình khác với của người trước nên nó k chạy xóa dòng nữa nha)
*Phần mở rộng:
Mình muốn nâng cao 1 ít là k lọc tay theo từng mã nữa, mà khi bấm lọc nó sẽ tự động chạy ra các sheet riêng theo từng mã khách hàng có trong dữ liệu. Mong Anh/Chị hướng dẫn giúp mình.
Do file của mình hơi nhạy cảm nên mình xin phép thay dữ liệu thành các chữ cái và số ạ
Mình cám ơn
1. Dữ liệu của mình có 12 cột, code này viết cho dữ liệu có 19 cột, mình xóa bớt cột: 4, 5, 6, 7, 17, 18, 19 thì code k chạy, mình muốn biết cách xóa cột mà code vẫn hoạt động.
Edit: Mình muốn xóa luôn những cột trống của 2 sheet vì đó là cột thừa không dùng đến mà khi xóa thì code k chạy nên mới để những cột trống đó đi hỏi mọi người cách chỉnh code.
2. Khai báo biến I, J, K có phải là chỉ các cột I, J, K trong sheet 1 k?
3. Chỗ "[A7].Resize..." bên dưới, đoạn đó code chỉ ghi đè đúng số dòng của loại mã mình chọn, nếu mã sau mà ít dòng hơn mã trước thì nó vẫn hiện dữ liệu thừa của mã trước. Nếu mình muốn khi lọc xong thì xóa hết các dữ liệu khác mã chọn thì làm thế nào (hoặc có thể do dữ liệu mình khác với của người trước nên nó k chạy xóa dòng nữa nha)
*Phần mở rộng:
Mình muốn nâng cao 1 ít là k lọc tay theo từng mã nữa, mà khi bấm lọc nó sẽ tự động chạy ra các sheet riêng theo từng mã khách hàng có trong dữ liệu. Mong Anh/Chị hướng dẫn giúp mình.
Do file của mình hơi nhạy cảm nên mình xin phép thay dữ liệu thành các chữ cái và số ạ
Mình cám ơn
Mã:
Public Sub GPE()
Dim sArr, dArr, I As Long, J As Long, K As Long
sArr = Sheet1.Range("A1").CurrentRegion.Value
ReDim dArr(1 To UBound(sArr), 1 To UBound(sArr, 2))
For I = 3 To UBound(sArr)
If sArr(I, 10) = [I2].Value Then
K = K + 1
For J = 1 To UBound(sArr, 2)
dArr(K, J) = sArr(I, J)
Next
End If
Next
If K Then
[A6].CurrentRegion.Offset(1).ClearContents
[A7].Resize(K, UBound(sArr, 2)).Value = dArr
End If
End Sub
File đính kèm
Lần chỉnh sửa cuối: