mấy anh ơi ! cho em hỏi code này là lỗi gì vậy ?

Liên hệ QC

chai35

Thành viên chính thức
Tham gia
21/9/08
Bài viết
67
Được thích
6
tới dòng 14 thì báo lỗi, mấy anh xem giúp em với
 

File đính kèm

  • report.rar
    61.2 KB · Đọc: 33
Mình chẳng rõ báo cáo gì của bạn nhưng bạn khai báo lại mảng Ten là: Ten(1,27) khi thực hiện vòng lặp J chạy tới 28 nằm ngoài giá trị khai báo thì lỗi là phải thôi.
 
Upvote 0
bạn hướng dẫn cho mình cách sửa được không !
 
Upvote 0
mình muốn báo cáo ở sheet 111 . báo cáo số phòng .. loại sử dụng, số lương. nhập vào thì ra báo cáo bên sheet day04
 
Upvote 0
Mình đã sửa cho cậu rồi kiểm tra xem thế nào nhé. Lưu ý trong Sheet 111 dòng tính tổng của bạn không lên trùm lên cột A vì khi mình tìm dòng cuối của sheet 111 thì dòng cuối sẽ phải tính thêm. Như vậy sẽ chậm và kết quả không chính xác.
 

File đính kèm

  • report.zip
    48.7 KB · Đọc: 5
Upvote 0
bạn ơi ! khi mình xóa dữ liệu toàn bộ , số thứ tự, số phòng, loại đồ sử dụng thì lại báo lỗi, bạn xem giúp mình với
 
Upvote 0
Đây cũng là lỗi thao tác với mảng thôi khi bạn xoá toàn bộ dữ liệu trong sheet 111 thì trong code tính toán mảng Vung lấy giá trị của vùng lấy từ dòng 2 tới dòng 3 của Sheet 111
Bạn copy đè code này vào module nhé:
PHP:
Option Explicit

Dim Vung, MgA, MgB, Ten, i, j, nRow As Long
Dim L As Long

Public Sub DepWa()

        L = 0: nRow = 0
        [A10:C140].ClearContents
        [F10:F140].ClearContents

        If Sheets("111").Range("A1000").End(xlUp).Row < 3 Then Exit Sub

        Vung = Sheets("111").Range(Sheets("111").[A3], Sheets("111").[A10000].End(xlUp)).Resize(, 30)

        Call CheckRedim
        ReDim MgA(1 To L + 1, 1 To 3)
        ReDim MgB(1 To L + 1, 1 To 1)

        Ten = Sheets("111").[A2:AD2]

        For i = 1 To UBound(Vung)

                If Vung(i, 1) <> "" Then
                        nRow = nRow + 1
                        MgA(nRow, 1) = Vung(i, 1): MgA(nRow, 2) = Vung(i, 2)

                        For j = 7 To 30

                                If Vung(i, j) <> "" Then
                                        MgA(nRow, 3) = Ten(1, j)
                                        MgB(nRow, 1) = Vung(i, j)
                                        nRow = nRow + 1
                                End If

                        Next j

                End If

                nRow = nRow - 1
        Next i

        [A10].Resize(nRow, 3) = MgA
        [F10].Resize(nRow) = MgB

End Sub

Public Sub CheckRedim()

        For i = 1 To UBound(Vung)

                If Vung(i, 1) <> "" Then
                        L = L + 1

                        For j = 7 To 30

                                If Vung(i, j) <> "" Then L = L + 1

                        Next j

                End If

        Next i

End Sub
 
Upvote 0
bạn ơi ! copy vào rồi vẫn bị lỗi
 
Upvote 0
Thêm một cách nữa để bạn tham khảo làm vui!

Cảm ơn [Phan Ngọc Lan] vì đã đưa file lên!

(Mọi cái macro sẽ fục vụ bạn từ A đến Z; Bạn khỏi đụng tay vô trang xx04 dùm cái nha!)
 

File đính kèm

  • gpeTaiChanh.rar
    46.6 KB · Đọc: 15
Upvote 0
các bạn giúp mình thêm 1 lần nữa đi . mình nhập vào ô day04 thì sẽ báo cáo qua sheet day04 nhập vào day05 thì sẽ báo cáo qua sheet day05 . mình có gởi file kèm theo bạn giúp mình với nhé . Thanks
 

File đính kèm

  • MiniBar Checklist.rar
    50.8 KB · Đọc: 3
Upvote 0
Web KT
Back
Top Bottom