Hàm tự định nghĩa bị lỗi khi tham số bên trong lấy từ Hàm offset (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

khongnhienttt

Thành viên hoạt động
Tham gia
15/7/15
Bài viết
137
Được thích
33
- Mình viết 1 hàm tự định nghĩa thế này
Mã:
Function SoThangHuong_BaoLuu(SoThangDong As Integer, Huong_BaoLuu As Integer) As String
    Dim kq As Integer
    If SoThangDong = 0 Then
        kq = 0
    Else
        If Huong_BaoLuu = 1 Then
            If Int(SoThangDong / 12) <= 3 Then
                kq = 3
            Else
                kq = Int(SoThangDong / 12)
            End If
        Else
            If SoThangDong < 37 Then
                kq = 0
            Else
                kq = SoThangDong - Int(SoThangDong / 12) * 12
            End If
        End If
    End If
    If kq > 0 And kq < 10 Then
        SoThangHuong_BaoLuu = "0" & kq
    Else
        SoThangHuong_BaoLuu = CStr(kq)
    End If
End Function
Tuy nhiên Tham số : Sothangdong nếu mình nhập vào 1 số hay chọn từ 1 cell thì OK nhưng dùng hàm offset để chọn cell đó thì lại bị lỗi Value, nó báo kiểu dữ liệu không phù hợp, chi tiết trong file đính kèm, mong các bạn giúp đỡ
 

File đính kèm

Trên máy của mình, hàm không báo lỗi Value như bạn;

Thay vì xài Int(SoThangDong / 12), ta có thể xài : SoThangDong\12
(Điều này bạn có thể thử trong cửa sổ Immediate)

Mình chưa rõ cách bạn xài câu lệnh: kq = SoThangDong - Int(SoThangDong / 12) * 12
để làm cái chi?

& câu cuối: Bạn nên sửa lại câu lệnh SoThangHuong_BaoLuu = "0" & kq
 
Upvote 0
https://www.dropbox.com/s/magf4at4bpwmail/BHTN.xlsm?dl=0
các bạn xem giúp mình 4 ô màu vàng ở sheets("TinhHuong"), rõ ràng ô K8 là số mà truyền tham số vào nó lại ko ra, thậm chí mình có dùng value nữa, nhưng ô I14 thì lại ra, các bạn xem giúp mình nhé, vì file nặng nên up qua dropbox
Capture.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
https://www.dropbox.com/s/magf4at4bpwmail/BHTN.xlsm?dl=0
các bạn xem giúp mình 4 ô màu vàng ở sheets("TinhHuong"), rõ ràng ô K8 là số mà truyền tham số vào nó lại ko ra, thậm chí mình có dùng value nữa, nhưng ô I14 thì lại ra, các bạn xem giúp mình nhé, vì file nặng nên up qua dropbox
View attachment 159091
Không tải được, nó còn chơi sập trang web hiện tại
 
Upvote 0
mình đã tìm ra được nguyên nhân, nhưng vẫn không hiểu vì sao nó như thế, mình viết hàm và sử dụng hàm trong 1 sheet khác, và trong 1 sheet khác để in ấn mình có code để autofit các ô merge cell như sau:
Mã:
'Private Sub Worksheet_Calculate()
'    Rows(19).EntireRow.autofit
'End Sub
khi debug thì sau khi thực hiện xong hàm nó lại tiếp tục chạy hàm nữa, kiểu như vòng lập vô tận vậy đó, mặc dù biết nguyên nhân như thế nhưng không khắc phục được mặc dù mình có để Application.EnableEvents ở đầu và cuối hàm, mong các bạn giúp đỡ
 
Upvote 0
mình đã tìm ra được nguyên nhân, nhưng vẫn không hiểu vì sao nó như thế, mình viết hàm và sử dụng hàm trong 1 sheet khác, và trong 1 sheet khác để in ấn mình có code để autofit các ô merge cell như sau:
Mã:
'Private Sub Worksheet_Calculate()
'    Rows(19).EntireRow.autofit
'End Sub
khi debug thì sau khi thực hiện xong hàm nó lại tiếp tục chạy hàm nữa, kiểu như vòng lập vô tận vậy đó, mặc dù biết nguyên nhân như thế nhưng không khắc phục được mặc dù mình có để Application.EnableEvents ở đầu và cuối hàm, mong các bạn giúp đỡ
máy mình đâu có bị gì đâu, vẫn xử lý bình thường
 
Upvote 0
Sao kì vậy ta, bạn có để ý trong sheet : ThamDinh và sheet qdhocnghe có code Private Sub Worksheet_Calculate() không, chứ khi mình vô hiệu quá code đó, thì dữ liệu ok, còn để code đó thì lỗi value
mình tải file mấy lần nhưng không được nên thử trên file khác chạy bình thường
 
Upvote 0
Mình cũng không tải được file, bạn nên up vào trang mediafire.com việc tải file sẽ dễ dàng hơn nhiều so vớ DropBox
 
Upvote 0
Upvote 0

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

Back
Top Bottom