Nhờ các bạn xem giúp mình đoạn code

Liên hệ QC

lebaquy

Thành viên mới
Tham gia
4/11/09
Bài viết
13
Được thích
1
Mình có đoạn code như sau:
Mã:
[FONT=Arial][SIZE=3]Sub bcngay_Click()
  DK = bcngay.Caption = "Loc"
[B] [COLOR=Red] Range("AM7:AM561").SpecialCells(3, 22).EntireRow.Hidden = DK[/COLOR][/B]
  bcngay.Caption = Choose(-1 * DK + 1, "Loc", "Khong Loc")
End Sub
[/SIZE][/FONT]
Khi chạy thì máy báo lỗi chỗ mình tô màu đỏ ở trên. Các bạn dịch hộ mình dòng tô mầu đỏ thật chi tiết. hoặc xem giúp mình lỗi của đoạn code đó.
Mình ko biết gì về VBA. Mong các bạn giúp.

Bài của bạn mở sai Box, bạn đã được nhắc nhở mà vẫn sai phạm. Lần này mình giúp bạn, lnầ sau sẽ xóa hẳn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Xin lỗi addmin mình. Cảm ơn addmin nhiều. Nhưng vào vùng dành cho VBA và Macro thi ko đăng đc bạn ah?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn cho mình hỏi "bcngay" là cài gì vậy bạn ? Cái quan trọng là bạn muốn làm cái gì, biết ý đồ của bạn thì mới chỉnh code giúp bạn được. Bạn gửi file đình kèm lên nha.
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn nhiều. Mình gửi mà ko up lên đc. toàn báo lỗi. "bcngay" là khi mình ấn alt+f11 thì nó hiện lên bảng visual basic. trong bảng đó nó ở phía dưới tay trái/ trong mục Alphabetic có mục (Name) thường thì nó là tên sheet mình thay nó thành "bcngay".
Mình muốn làm cái code để lọc những dòng ko có số liệu trong cột AM ẩn đi khi bấm vào lọc. còn bấm vào ko lọc nó sẽ hiện ra.

(khi báo cáo thường thì những dòng ko phát sinh số liệu nhiều mình muốn những dòng ko có số liệu ẩn đi)
 
Upvote 0
Mình có đoạn code như sau:
Mã:
[FONT=Arial][SIZE=3]Sub bcngay_Click()
  DK = bcngay.Caption = "Loc"
[B] [COLOR=Red] Range("AM7:AM561").SpecialCells(3, 22).EntireRow.Hidden = DK[/COLOR][/B]
  bcngay.Caption = Choose(-1 * DK + 1, "Loc", "Khong Loc")
End Sub[/SIZE][/FONT]


Khi chạy thì máy báo lỗi chỗ mình tô màu đỏ ở trên. Các bạn dịch hộ mình dòng tô mầu đỏ thật chi tiết. hoặc xem giúp mình lỗi của đoạn code đó.
Mình ko biết gì về VBA. Mong các bạn giúp.
.
Code thì chẳng có gì sai ---> Đoạn code trên có nghĩa là:
- Tìm trong vùng AM7:AM561, những cell công thức nào có giá trị là Text, Logicals hoặc Errors thì sẽ ẩn hoặc hiện dòng (tùy vào Caption của Command Button)
- Vậy code chỉ có thể xuất hiện lổi nếu không tìm thấy, tương đương lổi "No Cells were found" khi tìm bằng tay
Bạn kiểm tra lại nhé ---> Nếu không làm được hãy gữi file lên đây
 
Upvote 0
Mình up mà ko lên đc. Giá trị của mình là kiểu số. thì sửa lại như thế nào cho đúng. Bạn giúp mình
 
Upvote 0
Mình up mà ko lên đc. Giá trị của mình là kiểu số. thì sửa lại như thế nào cho đúng. Bạn giúp mình
Vậy thử sửa lại thành:

Mã:
Sub bcngay_Click()
  DK = bcngay.Caption = "Loc"
  Range("AM7:AM561").SpecialCells([SIZE=4][COLOR=Red]3[/COLOR][/SIZE], [B][SIZE=4][COLOR=Red]1[/COLOR][/SIZE][/B]).EntireRow.Hidden = DK
  bcngay.Caption = Choose(-1 * DK + 1, "Loc", "Khong Loc")
End Sub
Lưu ý: Vùng AM7:AM561 phải là vùng chứa công thức nha ---> Nếu chỉ là dử liệu nhập bình thường thì lại phải sửa tiếp thành:
Mã:
Sub bcngay_Click()
  DK = bcngay.Caption = "Loc"
  Range("AM7:AM561").SpecialCells([SIZE=4][COLOR=Red]2[/COLOR][/SIZE], [B][SIZE=4][COLOR=Red]1[/COLOR][/SIZE][/B]).EntireRow.Hidden = DK
  bcngay.Caption = Choose(-1 * DK + 1, "Loc", "Khong Loc")
End Sub
 
Upvote 0
Lọc những dòng có kết quả = 0 A ạ. A chỉnh lại giúp Em với.
 
Upvote 0
Lọc những dòng có kết quả = 0 A ạ. A chỉnh lại giúp Em với.
Bạn tham khảo VD sau :

Có thể thay Selection bằng Range("A1:B10") và True bằng DK = bcngay.Caption = "Loc"

PHP:
Sub FilterData()
On Error Resume Next
With Selection
    .Replace What:="0", Replacement:="", LookAt:=xlWhole
    .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
End Sub

Sub ShowData()
Selection.EntireRow.Hidden = False
End Sub
 

File đính kèm

Upvote 0
Bạn tham khảo VD sau :

Có thể thay Selection bằng Range("A1:B10") và True bằng DK = bcngay.Caption = "Loc"

PHP:
Sub FilterData()
On Error Resume Next
With Selection
    .Replace What:="0", Replacement:="", LookAt:=xlWhole
    .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
End Sub
 
Sub ShowData()
Selection.EntireRow.Hidden = False
End Sub
---
Bạn xem lại giúp, sao tôi show mà không được ?
 

File đính kèm

Upvote 0
Bạn bôi nguyên cột A và B rồi bấm nút xem nó có chạy không nha
 
Upvote 0
Bạn tải về bằng cách Save lại rồi mới Show được chứ! Đừng chọn Open. Sau đó chọn khối A1:B10 thử click Show xem.
---
Tôi tải về đó chứ minhthien321 :-=
---
hoangdanh282vn đã viết:
Bạn bôi nguyên cột A và B rồi bấm nút xem nó có chạy không nha
---
Cái này thì nó chạy, không hiểu? Bạn có thể giải thích không? :-=

Thân chào cả 2.
 
Upvote 0
Nếu vậy thì bạn chịu khó Click phải chuột vào Show và Assign Macro lại là ShowData đi, tôi tin sẽ thấy "effect". Nhưng bạn phải chọn Khối ô hay cột A:B thì mới thấy nó chạy.
 
Upvote 0
Nếu vậy thì bạn chịu khó Click phải chuột vào Show và Assign Macro lại là ShowData đi, tôi tin sẽ thấy "effect". Nhưng bạn phải chọn Khối ô hay cột A:B thì mới thấy nó chạy.
---
Bạn thử nhập chử X.. vào cell A20, xong lại xóa đi => bạn click Filter thử xem sẽ thấy việc gì xảy ra hởi bạn? :-=
 
Upvote 0
---
Bạn thử nhập chử X.. vào cell A20, xong lại xóa đi => bạn click Filter thử xem sẽ thấy việc gì xảy ra hởi bạn? :-=

Khà khà khà, hỏi hay lắm! Bạn chỉnh cái này tí thôi, 2 cái hình ô van đó bạn chọn thuộc tính "Don't move or size with cells" tôi nghĩ không còn vấn đề gì xảy ra nữa!
 
Upvote 0
Khà khà khà, hỏi hay lắm! Bạn chỉnh cái này tí thôi, 2 cái hình ô van đó bạn chọn thuộc tính "Don't move or size with cells" tôi nghĩ không còn vấn đề gì xảy ra nữa!
---
Bạn ơi, tôi nghĩ không phải lý do đó đâu, hổng tin thì.....thử xem, sẽ thích ngay thôi mà :-=
 
Upvote 0
---
Bạn ơi, tôi nghĩ không phải lý do đó đâu, hổng tin thì.....thử xem, sẽ thích ngay thôi mà :-=

Ngoài lý do sau khi bấm Filter nó ẩn các dòng và ẩn luôn 2 cái Filter và Show thì chẳng còn gì để mà thích cả! Bạn nói rõ xem nào?
 
Upvote 0
Ngoài lý do sau khi bấm Filter nó ẩn các dòng và ẩn luôn 2 cái Filter và Show thì chẳng còn gì để mà thích cả! Bạn nói rõ xem nào?
---
Bạn chẳng chịu thử làm sao thấy thích:
1> Bạn lôi 2 cái ông oval đó xuống dưới dòng 20
2> Chọn cell A20 nhập vào rồi xóa đi
3> Run => Filter
4> Hết hiểu, chờ bạn giải đáp (không được cứu viện nhé :-=)
 
Upvote 0
---
Bạn chẳng chịu thử làm sao thấy thích:
1> Bạn lôi 2 cái ông oval đó xuống dưới dòng 20
2> Chọn cell A20 nhập vào rồi xóa đi
3> Run => Filter
4> Hết hiểu, chờ bạn giải đáp (không được cứu viện nhé :-=)


Xin thưa với bạn là tôi làm đi làm lại hàng chục lần, không xảy ra vấn đề nào cả, cho dù có xoá chữ X trước hoặc sau khi Filter!
 
Upvote 0
Web KT

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

Back
Top Bottom