Bạn hãy kiểm tra lại thuộc tính CurrentRegion trong lớp Range đi. Có thể đó bạn khai báo biến, sử dụng function sai...
File của bạn, đương nhiên bạn phải biết cái nào dùng cho việc gìVì file em dung lượng lớn lắm không up lên GPE được. Em cũng nghĩ như anh đó. Nhưng kiểm tra nó bằng cách nào? Anh vui lòng hướng dẫn cụ thể?
Sub Test()
With ThisWorkbook
If .Sheets(1) = "Sheet1" Then
MsgBox "Dung roi"
End With
End Sub
File của bạn, đương nhiên bạn phải biết cái nào dùng cho việc gì
Vậy thì: Xóa bỏ hết những thứ không liên quan, chỉ chừa lại chổ bị lỗi rồi lưu thành 1 file mới và đưa lên đây
Nên nhớ rằng: Thông báo lỗi có khi không đúng sự thật đâu! Bạn không có file là... THUA
Ví dụ code này:
Trong code, rõ ràng tôi thiếu End If nhưng khi chạy nó lại bảo tôi thiếu WithPHP:Sub Test() With ThisWorkbook If .Sheets(1) = "Sheet1" Then MsgBox "Dung roi" End With End Sub
View attachment 49099
Trường hợp này, nếu bạn chỉ mô tả lỗi mà không đưa code lên thì... bố ai biết được lỗi là do cái giống gì gây ra!
Hic...
Bạn xóa ComboBox1 tại sheet PNHAP là tự nhiên hết lỗi liềnThầy và các anh/chị xem dùm em và chỉ rõ lỗi cho em nhé!
Bạn xóa ComboBox1 tại sheet PNHAP là tự nhiên hết lỗi liền
File của bạn nhìn ngán thật ---> Công thức tùm lum đến mức không cần thiết, chỉ tổ làm file nặng như cục đá
File của bạn muốn sửa lại thì phải sửa gần như.. TOÀN BỘ luônThứ 1: Nếu bỏ ComboBox đi thì muốn chọn Số phiếu nào đó theo ngày sẽ tìm rất khó?
Thứ 2: Theo thầy thì công thức em lập lập như vậy, thầy thấy cần phải sửa như thế nào cho file nhệ hơn?
Mong thầy chỉ dùm em.
Cám ơn thầy ndu nhiều!
File của bạn muốn sửa lại thì phải sửa gần như.. TOÀN BỘ luôn
Hic..
- Sửa lại định dạng --> Bỏ các MergeCell không cần thiết
- Xóa công thức, thay bằng code VBA
vân vân...
Tôi sửa sơ qua cho bạn xem ---> Tốc độ vèo vèo chứ chẳng phải "cục đá" như file cũ
Chỉ có tí dữ liệu mà chỉnh sửa quả thật quá cực khổ (tốn cả giờ đồng hồ)
PX nó là cái gì? Nếu hiển thị thì sẽ hiển thị ra làm sao? Tôi không hình dung raThầy ơi, nếu sửa như thầy thì số lượng ở PX không có ư? Ý em là nó không hiện ư?
Thầy sửa dùm em chút nữa nhé!
Cám ơn thầy ndu nhiều!
PX nó là cái gì? Nếu hiển thị thì sẽ hiển thị ra làm sao? Tôi không hình dung ra
Trong file của bạn, tại cell P1 của sheet PNHAP tôi cũng thấy có công thức =LEFT(O1,2) nhưng chẳng thấy áp dụng vào chổ nào cả
Mô tả lại rõ ràng xem!
Vừa xem file xong nhưng bạn vẫn chưa nói rõ ràng gì cảTại cell P1 có lẽ em tạo công thức ví dụ (em quên ko xoá ấy mà). Em up lại file lên thây xem lại dùm em nhé!
Câu hỏi cụ thể trong file đính kèm rồi thầy ah!
Vừa xem file xong nhưng bạn vẫn chưa nói rõ ràng gì cả
Bạn ví dụ luôn đi:
- Validation tôi chọn PN001
- Vậy cột Thực nhập/Xuất sẽ ra kết quả = bao nhiêu?
---------------------
Thông cảm, tôi không biết gì về kế toán nên bạn phải giải thích sao cho người không chuyên ngành như tôi hiểu mới làm được
Trời ơi!Thưa thầy, cột thực nhập/xuất sẽ bằng nếu:
- Ta chọn số chứng từ (cell G1) bắt đầu bằng PN.. tương ứng bằng số lượng Clumn H và đơn giá Clumn G của Sheets DATA1 của số chứng từ đó.
- Ta chọn số chứng từ (cell G1) bắt đầu bằng PX.. tương ứng bằng số lượng Clumn J và đơn giá Clumn G của Sheets DATA1 của số chứng từ đó.
Ví dụ:
- Nếu thầy chọn G1=PN001 thì cột thực nhập/xuất số lượng sẽ là: 12 đơn giá 120.000
- Nếu thầy chọn G1=PX001 thì cột thực nhập/xuất số lượng sẽ là: 5 đơn giá 130.000
Intersect(.Columns(8), .Offset(1)).Copy: Range("F14").PasteSpecial 3
Intersect(.Columns(IIf(Left(Target, 2) = "PN", 8, 10)), .Offset(1)).Copy
Range("F14").PasteSpecial 3
Trời ơi!
Chỉ có mỗi việc chọn cột SL xuất hoặc nhập tùy thuộc vào số chứng từ là PN hay PX thì... Ẹc... Ẹc... If 1 cái là xong!
Tôi không nghĩ bạn lại bó tay
???
Sửa đoạn này:
Thành:PHP:Intersect(.Columns(8), .Offset(1)).Copy: Range("F14").PasteSpecial 3
Có nghĩa là:PHP:Intersect(.Columns(IIf(Left(Target, 2) = "PN", 8, 10)), .Offset(1)).Copy Range("F14").PasteSpecial 3
Nếu 2 ký tự bên trái của chứng từ = "PN" thì lấy Column 8, ngược lại thì lấy Column 10
Thế thôi