Sửa lỗi Runtime error "6" Over flow

Liên hệ QC

vanle33

Thành viên gạo cội
Tham gia
30/10/08
Bài viết
5,866
Được thích
3,953
Giới tính
Nam
Tôi có file Nhật ký này nhưng khi nhấn Cap Nhat thì bị lỗi Runtime error "6" Over Flow. Mong các thành viên trợ giúp sửa lỗi trên cho tôi.

Do tôi không phải chủ nhân của file này nên không có pass VBA mà phải dùng Remove VBA ... của bác siwtom.
 

File đính kèm

  • Nhat ky.xls
    195 KB · Đọc: 43
Lần chỉnh sửa cuối:
Cái này gọi là nhật ký hay là hồi ký nữa không biết.
 
Upvote 0
Cái này gọi là nhật ký hay là hồi ký nữa không biết.

Đã là nhật ký , nhật ký công trường thì phải ghi trung thực ghi tay là tốt nhất, hoặc là chí ít phải nhập vào máy tính từng ngày.
Làm kiểu như ở topic này là chống đối. Chúng ta cứ hỏi đường xa không tốt, công trình tượng đài, công trình công cộng khác nhanh xuống cấp, thiếu giám sát chặt chẽ,...., chất lượng không tốt là do đâu... Vậy mà cứ giúp thế này là tiếp tay cho sự làm ẩu, chống chế, làm cho có, đã vậy lại còn muốn tự động chống chế làm ẩu, tự động chống chế nhanh ẩu. Đề nghị mọi người hãy đặt lòng tốt đúng chỗ (vì làm sai mục tiêu của nhật ký, nhật ký giúp ghi nhận mọi hoạt động cũng như làm người kỹ sư, những người liên quan có trách nhiệm hơn, và căn cứ kiểm soát sau này).
Nếu cái này không đúng với trường hợp riêng của chủ topic thì đề nghị chủ topic giải thích và bỏ qua ý chung trên.
 
Lần chỉnh sửa cuối:
Upvote 0
Cái này gọi là nhật ký hay là hồi ký nữa không biết.
Nhiều khi không phải do Nhà thầu muốn làm thế đâu bạn mà do Chủ đầu tư quyết định, quyết luôn cho cả Tư vấn giám sát, Nhà thầu. Đâu phải cứ thẳng thắn chuẩn chỉ là đúng, là tốt đâu. Nhiều khi biết sai vẫn phải làm. Cơ chế VN nhiều khi là vậy --=0
Miễn là làm việc, hoạt động trong giới hạn cho phép là OK.
Vấn đề ở đây là tôi nhờ các cao thủ chỉnh code để đạt yêu cầu.
 
Upvote 0
Nhiều khi không phải do Nhà thầu muốn làm thế đâu bạn mà do Chủ đầu tư quyết định, quyết luôn cho cả Tư vấn giám sát, Nhà thầu. Đâu phải cứ thẳng thắn chuẩn chỉ là đúng, là tốt đâu. Nhiều khi biết sai vẫn phải làm. Cơ chế VN nhiều khi là vậy --=0
Miễn là làm việc, hoạt động trong giới hạn cho phép là OK.
Vấn đề ở đây là tôi nhờ các cao thủ chỉnh code để đạt yêu cầu.

#62 nói là em phải có trách nhiệm hơn kìa
anh muốn em sống sao ? ....
 
Upvote 0
Đã là nhật ký , nhật ký công trường thì phải ghi trung thực ghi tay là tốt nhất, hoặc là chí ít phải nhập vào máy tính từng ngày.
Làm kiểu như ở topic này là chống đối. Chúng ta cứ hỏi đường xa không tốt, công trình tượng đài, công trình công cộng khác nhanh xuống cấp, thiếu giám sát chặt chẽ,...., chất lượng không tốt là do đâu... Vậy mà cứ giúp thế này là tiếp tay cho sự làm ẩu, chống chế, làm cho có, đã vậy lại còn muốn tự động chống chế làm ẩu, tự động chống chế nhanh ẩu. Đề nghị mọi người hãy đặt lòng tốt đúng chỗ (vì làm sai mục tiêu của nhật ký, nhật ký giúp ghi nhận mọi hoạt động cũng như làm người kỹ sư, những người liên quan có trách nhiệm hơn, và căn cứ kiểm soát sau này).
Nếu cái này không đúng với trường hợp riêng của chủ topic thì đề nghị chủ topic giải thích và bỏ qua ý chung trên.
Không biết bác có làm xây dựng không em không biết.
Cách này hay ở 1 chỗ làm tự động liệt kê công việc theo ngày tháng ra luôn
Còn nếu làm ngày nào ghi ngày đó thì có một số vấn đề xảy ra
một là đã ghi (ghi tay) từng ngày rồi. sau này nếu giám sát muốn đổi ngày để đúng lịch trình ( chỗ này xin giải thích thế này: công trình rao lên, nhà thầu đi đấu, nhưng chỉ là hình thức, thực tế là đã bàn giao mặt bằng cho nhà thầu và thi công vài hạng mục rồi, như vậy khi trúng thầu và được bàn giao mặt bằng ví dụ là 20/10/2015, mà trong khi đó do 1 số lý do nào đó mà nhà thầu đã nhận mặt bằng vào 1/10/2015- trước 19 ngày- như thế tiến độ sẽ nhanh hơn thời gian thực là 19 ngày thì làm biết bao nhiêu công việc rồi)
như vậy bác ghi tay. thì lúc ghi nhận mặt bằng ngày mấy.
giả xử 30/10/2015 bác thi công đóng cọc mố. (bê tông đã đủ tuổi do nhận mặt bằng 1/10/2015 và xử dụng phụ gia)
nếu ghi là 20/10/2015 thì liệu có kịp làm để đóng cọc ngày 30 không.
thực tế bây giờ những người dưới công trình không được mấy ai ghi nhật ký đâu
toàn đưa về công ty cho lính lác ghi không à
còn ngày tháng thì binh biến tùm lum

Nhiều khi không phải do Nhà thầu muốn làm thế đâu bạn mà do Chủ đầu tư quyết định, quyết luôn cho cả Tư vấn giám sát, Nhà thầu. Đâu phải cứ thẳng thắn chuẩn chỉ là đúng, là tốt đâu. Nhiều khi biết sai vẫn phải làm. Cơ chế VN nhiều khi là vậy --=0
Miễn là làm việc, hoạt động trong giới hạn cho phép là OK.
Vấn đề ở đây là tôi nhờ các cao thủ chỉnh code để đạt yêu cầu.
còn vụ bác này. cái vụ ngày giờ này kia em nghĩ được nhưng có quan trọng không
em cũng xây dựng nên hiểu công việc của bác
hiện tại em cũng có 1 công trình
giám sát đưa list ngày tháng để ghi nhật ký thời gian 1 năm rưỡi
yêu cầu ghi trong 2 ngày.
thử hỏi liệu có kịp không nếu làm bằng tay nhìn mà lọc ra công việc nào ngày nào
em nghĩ code như thế là được rồi
nhật ký bác vẫn còn thiếu 1 mục nhân công, máy moc xử dụng trong ngày đó như thế nào nữa nha.
bác thử code ngu của em thế nào. tuy không nhanh nhưng vẫn giải quyết vụ điền ngày vs STT

Mã:
Sub NhatKy()
'Application.ScreenUpdating = False




Dim MangDanhMuc, MangNhatKy(1 To 60000, 1 To 11)
Dim Khoang, i, m, c As Long
c = Sheet1.UsedRange.Rows.Count
'===============================================
MangDanhMuc = Sheet1.Range("A18:A" & c).Resize(, 11)
'm = Sheet1.[A65536].End(3).Row






BatDau = Sheet5.Range("F5").Value
KetThuc = Sheet5.Range("F6").Value


j = 1 'dong thu j
k = 1 'so thu tu
'xoa du lieu
Sheet4.Range("A14:E100").Value = ""
'vong lap ket thuc khi ngay bat dau > ngay ket thuc
Do While BatDau <= KetThuc
For i = 1 To c - 18
BD = MangDanhMuc(i, 6)
KT = MangDanhMuc(i, 7)
If BD = "" Or KT = "" Then GoTo Nex
'kiem tra xem cong viec co namg trong khoang thoi gian xxxx khong
If BD <= BatDau And KT >= BatDau Then




'kiem tra ngay de dien vao
    If KTraNgay <> BatDau Then
        KTraNgay = BatDau
        DienNgay = BatDau
    Else
        DienNgay = ""
    End If
'kiem tra va dien hang muc
    HMucNguon = MangDanhMuc(i, 2)
    If KTraHMuc <> HMucNguon Then
        KTraHMuc = HMucNguon
        DienHangMuc = HMucNguon
    Else
        DienHangMuc = ""
    End If
'kien tra va dien STT
    If DienNgay <> "" Then
    MangNhatKy(j, 1) = k
    'MsgBox MangNhatKy(j, 1)
    k = k + 1
    End If






'dien vao sheet Nhat ky
MangNhatKy(j, 2) = DienNgay
MangNhatKy(j, 3) = DienHangMuc 'hang muc
MangNhatKy(j, 4) = MangDanhMuc(i, 3) 'noi dung cong vc
j = j + 1


Else
For m = 1 To j
If MangNhatKy(m, 2) = BatDau Then
    Tim = 1
    GoTo Tiep
Else
    Tim = 0
End If


Next m
Tiep:
    If Tim > 0 Then
        GoTo Nex
    Else
        If i = c - 18 Then
            MangNhatKy(j, 1) = k
            k = k + 1
            MangNhatKy(j, 2) = BatDau
            MangNhatKy(j, 4) = "Mýa, Công trýõÌng nghiÒ"
            j = j + 1
        End If
    End If
End If
Nex:


Next i
    BatDau = BatDau + 1
Loop
Range("A14:D14").Resize(j).Value = MangNhatKy
Application.ScreenUpdating = True
End Sub
em đã sửa dữ liệu nên nhìn hơi khác nha
View attachment 150502
 
Lần chỉnh sửa cuối:
Upvote 0
Không biết bác có làm xây dựng không em không biết.
Cách này hay ở 1 chỗ làm tự động liệt kê công việc theo ngày tháng ra luôn
Còn nếu làm ngày nào ghi ngày đó thì có một số vấn đề xảy ra
một là đã ghi (ghi tay) từng ngày rồi. sau này nếu giám sát muốn đổi ngày để đúng lịch trình ( chỗ này xin giải thích thế này: công trình rao lên, nhà thầu đi đấu, nhưng chỉ là hình thức, thực tế là đã bàn giao mặt bằng cho nhà thầu và thi công vài hạng mục rồi, như vậy khi trúng thầu và được bàn giao mặt bằng ví dụ là 20/10/2015, mà trong khi đó do 1 số lý do nào đó mà nhà thầu đã nhận mặt bằng vào 1/10/2015- trước 19 ngày- như thế tiến độ sẽ nhanh hơn thời gian thực là 19 ngày thì làm biết bao nhiêu công việc rồi)
như vậy bác ghi tay. thì lúc ghi nhận mặt bằng ngày mấy.
giả xử 30/10/2015 bác thi công đóng cọc mố. (bê tông đã đủ tuổi do nhận mặt bằng 1/10/2015 và xử dụng phụ gia)
nếu ghi là 20/10/2015 thì liệu có kịp làm để đóng cọc ngày 30 không.
thực tế bây giờ những người dưới công trình không được mấy ai ghi nhật ký đâu
toàn đưa về công ty cho lính lác ghi không à
còn ngày tháng thì binh biến tùm lum

Vậy thì chào thua, đừng hỏi tại sao tùm lum, tại sao sai, và tại sao tại sao ... mọi thứ lại thế ...vì: nó thế nên nó vẫn thế.
Nhưng anh em ở đây chia sẻ lòng tốt vì một XH tốt lên chứ không phải là vì những cái làm ngày càng tồi tệ hơn.
Đó là nói chung thê, còn vào thế thì phải thế là trường hợp riêng rui... bắc thang lên hỏi ông trời vậy. Mọi người cứ giúp tiếp đi vì đó là về code , đôi khi đẩy cho nó phát triển nhanh cho chóng qua nhanh.
 
Upvote 0
Việc ma số liệu để chế hồi ký thế này phải dùng ms project chứ excel làm vụ này không ăn thua.
 
Upvote 0
Phải làm trong ngành thì mới hiểu tại sao phải chế cháo ra Hồ sơ. Chế nhưng vẫn KHỚP là OK trong 1 giới hạn cho phép. Vẫn sống và làm việc theo hiến pháp và pháp luật!
 
Upvote 0
to langtuchungtinh :
giờ thì không nhất thiết phải đưa vào ngày nghiệm thu. Chỉ khi Tư vấn GS yêu cầu quá chặt chẽ thì ta phải làm CHI TIẾT.
Đúng còn mục thời tiết, máy móc thiết bị nhân lực trong Nhật ký nữa.
Thử chạy code của bạn sao chỉ thấy dữ liệu xuất ra từ dòng có TT 88 trở đi?
 
Lần chỉnh sửa cuối:
Upvote 0
Phải làm trong ngành thì mới hiểu tại sao phải chế cháo ra Hồ sơ. Chế nhưng vẫn KHỚP là OK trong 1 giới hạn cho phép. Vẫn sống và làm việc theo hiến pháp và pháp luật!
Chế một vài hạng mục độc lập thấy có vẻ là khớp nhưng nếu ráp toàn bộ hồ sơ các hạng mục của một công trình lại thì xem ra dùng excel không qua được tay cứng được đâu.
Chỉ cần lập tiến độ hóa đơn, tiến độ biên bản và tiến độ nhật ký, khớp hay không sẽ biết ngay.
 
Upvote 0

File đính kèm

  • Nhat ky_2.rar
    82.8 KB · Đọc: 9
Upvote 0
Bạn thử file này. Tôi để ngày bàn giao mặt bằng 07/07/2015 thì chạy code của doveandrose bị lỗi.
Không phải lỗi mà là dữ liệu bác đưa sai
tải lại file #1 rồi so sánh với #73 xem. 2 file cấu trúc khác nhau
file #1 thì có tùm lum ngày thi công hết, trong khi đó # 73 lại trống rỗng, chỉ có mỗi ngày nghiệm thu
vậy bác nói rõ căn cứ vào cột nào để so sánh và điền vào. code của tui và dovanrose đều căn cứ vào ngày bắt đầu và thi công để so sánh đấy
 
Upvote 0
Không phải lỗi mà là dữ liệu bác đưa sai
tải lại file #1 rồi so sánh với #73 xem. 2 file cấu trúc khác nhau
file #1 thì có tùm lum ngày thi công hết, trong khi đó # 73 lại trống rỗng, chỉ có mỗi ngày nghiệm thu
vậy bác nói rõ căn cứ vào cột nào để so sánh và điền vào. code của tui và dovanrose đều căn cứ vào ngày bắt đầu và thi công để so sánh đấy
Tôi sẽ thêm ngày Bắt đầu và Kết thúc và ngày Yêu cầu vào sau bạn ah.
Tôi muốn như ở #58 đó bạn. Đó là cách TỔNG QUAN CHUNG CHUNG mà tôi nói ở #60 đó.
 
Upvote 0
Tôi sẽ thêm ngày Bắt đầu và Kết thúc và ngày Yêu cầu vào sau bạn ah.
Tôi muốn như ở #58 đó bạn. Đó là cách TỔNG QUAN CHUNG CHUNG mà tôi nói ở #60 đó.
vậy chỉ căn cứ ngày bắt đầu với ngày nghiệm thu để điền thôi đúng không
Mã:
Sub NhatKy()
Application.ScreenUpdating = False
Dim MangDanhMuc, MangNhatKy(1 To 60000, 1 To 11)
'==============================================
Dim i, m, c, STT As Long
Dim BigRng As Range
On Error Resume Next
With Sheet1.Range("A1").SpecialCells(2)
   Set BigRng = .Areas(1)
   For i = 1 To .Areas.Count
     Set BigRng = Range(Sheet1.Cells(18, 1), .Areas(i))
   Next i
End With
MangDanhMuc = BigRng
'===============================================


c = UBound(MangDanhMuc, 1)


BatDau = Sheet5.Range("F5").Value
KetThuc = Sheet5.Range("F6").Value


j = 1 'dong thu j
STT = 1 'so thu tu
'xoa du lieu
Sheet4.Range("A14:E" & Sheet4.UsedRange.Rows.Count).Value = ""


'vong lap ket thuc khi ngay bat dau > ngay ket thuc
Do While BatDau <= KetThuc
For i = 1 To c
BD = MangDanhMuc(i, 6)
If BD <> 0 Then BDTam = BD
KT = MangDanhMuc(i, 11)
'If BD = "" Or KT = "" Then GoTo Nex
'kiem tra xem cong viec co namg trong khoang thoi gian xxxx khong
If BDTam <= BatDau And KT < KetThuc Then




'kiem tra ngay de dien vao
    If KTraNgay <> BatDau Then
        KTraNgay = BatDau
        DienNgay = BatDau
    Else
        DienNgay = ""
    End If
'kiem tra va dien hang muc
    HMucNguon = MangDanhMuc(i, 2)
    If KTraHMuc <> HMucNguon Then
        KTraHMuc = HMucNguon
        DienHangMuc = HMucNguon
    Else
        DienHangMuc = ""
    End If
'kien tra va dien STT
    If DienNgay <> "" Then
    MangNhatKy(j, 1) = STT
    STT = STT + 1
    End If


'dien vao sheet Nhat ky
MangNhatKy(j, 2) = DienNgay
MangNhatKy(j, 3) = DienHangMuc 'hang muc
MangNhatKy(j, 4) = MangDanhMuc(i, 3) 'noi dung cong vc
j = j + 1


Else
For m = 1 To j
If MangNhatKy(m, 2) = BatDau Then
    Tim = 1
    GoTo Tiep
Else
    Tim = 0
End If


Next m
Tiep:
    If Tim > 0 Then
        GoTo Nex
    Else
        If i = c Then
        
            MangNhatKy(j, 1) = STT
            STT = STT + 1
            MangNhatKy(j, 2) = BatDau
            MangNhatKy(j, 4) = "Mua, Cong Truong Nghi"
            j = j + 1
        End If
    End If


    
End If
Nex:
Next i
    BatDau = BatDau + 1
Loop
Sheet4.Range("A14:D14").Resize(j).Value = MangNhatKy
Application.ScreenUpdating = True
End Sub
mấy khoảng trống đó là do bảng dữ liệu bác chưa điền.
bác không đưa dữ liệu chính lên thì tui chịu, nghỉ chỉnh nữa rồi
mỗi lần chỉnh lại đưa dữ liệu khác
thiếu này thiếu kia......
lại thêm cái pass vba. tui chả rảnh đâu mà cứ mỗi lần giúp lại phải phá pass mất thời gian
---------------------------------
bác cứ nói chung chung cuối cùng chả biết là lấy mốc căn cứ nào để mà so sánh điền vào cho vừa ý bác nữa. ba hồi thì thời gian bắt đầu kết thúc, ba hồi thì lại là thời gian bắt đầu với nghiệm thu
---------------------------------
với số lượng gần 4k bài gửi mà nói không biết viết code thì cũng phục bác thật
 
Lần chỉnh sửa cuối:
Upvote 0
Thôi đi ngủ, không thấy trả lời chắc ok rồi/-*+/
lo làm tào lao )(&&@@ không lo hồ sơ ;;;;;;;;;;; mai lại bị cha giám sát lôi ra chém+-+-+-+
 
Upvote 0
1) bác cứ nói chung chung cuối cùng chả biết là lấy mốc căn cứ nào để mà so sánh điền vào cho vừa ý bác nữa. ba hồi thì thời gian bắt đầu kết thúc, ba hồi thì lại là thời gian bắt đầu với nghiệm thu
---------------------------------
2) với số lượng gần 4k bài gửi mà nói không biết viết code thì cũng phục bác thật
Qua quá trình sử dụng thấy code của tác giả file Nhat ky gây lỗi do không phù hợp với dữ liệu của tôi nên phải điều chỉnh.
Xin trả lời bạn như sau:
1) Tiêu chí để viết Nhật ký là căn cứ theo cột F, cột G, cột J, cột K. Như bài #58 tôi đã nói, bỏ qua tất cả vòng lặp gì đó liên quan đến thời gian min max gì đó. Còn cột H và cột I chỉ để làm Biên bản nghiệm thu và Phiếu yêu cầu, chỉ thêm vào khi viết Nhật ký CHI TIẾT.
2) Tôi chưa biết và viết được 1 chữ nào trong code luôn.
Cảm ơn bạn!

p/s : cha giám sát ghê nhỉ, thế bạn nghĩ "mưu" để "đẩy" đi. --=0
 
Upvote 0
Chạy thử code của bạn langtuchungtinh bài #76 thấy không ổn rồi
+) Ra kết quả lại có 1 lô, 1 lốc các đầu việc trong cùng 1 ngày. Mà ngày đó bên sheet Danh muc không có các đầu việc đó!
+) Hết 1 lô đầu việc đấy lại có 1 đoạn dài các dòng trắng không có dữ liệu.
 
Upvote 0
Bạn thử file này. Tôi để ngày bàn giao mặt bằng 07/07/2015 thì chạy code của doveandrose bị lỗi.
file này so với file #1 khác xa nhau , cột B, F,G trống trơn thì code chạy cái gì được . yêu cầu giúp về code nhưng lại đặt password VBA đã là khó chấp nhận , mà anh nói là file không phải của anh nên không biết pass mà code thì anh cập nhật liên tục vào file ?

37640e5defb73f590bfedc336cf0167e.png




người ta viết code xong thì sửa cấu trúc dữ liệu rồi nói code chạy lỗi lại càng không thể chấp nhận
khi cảm thấy không vừa ý là tôi nói thẳng chứ không ngại ai cả , nhiều người ở diễn đàn này biết tôi viết code xong mà người dùng thay đổi cấu trúc dữ liệu rồi kêu tôi code lại là tôi bỏ chạy luôn , và lần này cũng vậy .
 
Upvote 0
Web KT
Back
Top Bottom