- 帖子
- 233
- 主題
- 53
- 精華
- 0
- 積分
- 292
- 點名
- 0
- 作業系統
- WinXp
- 軟體版本
- 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-1-6
- 最後登錄
- 2024-3-8

|
17#
發表於 2012-2-20 13:48
| 只看該作者
本帖最後由 jackson7015 於 2012-2-20 13:50 編輯
回復 16# GBKEE
今天測試了修改後的巨集
如果再日報表內只有1欄(如檔)資料,則使用巨集後會出現了錯誤訊息"執行階段錯誤1004"
這個錯誤只有在日報表只有一則資料才會發生,多於1則不會
附上檔案和代碼
工作日報表.rar (155.08 KB)
- Sub 累計日報表資料()
- Dim Ar(), Rng As Range, Xi As Long
- With Sheets("日報表")
- Set Rng = .Range("d7", .[d7].End(xlDown)) '資料範圍: B欄有資料的列
- If Application.CountA(Rng) = 0 Then MsgBox "日報表 沒有資料 !!!": Exit Sub '判斷日報表有沒有資料
- If MsgBox("是否執行複製?", vbYesNo) = vbNo Then Exit Sub
- ReDim Ar(1 To Rng.Count, 1 To 20) '陣列的大小 1 To 20 => 資料範圍 B欄:V欄
- For Xi = 1 To Rng.Count
- Ar(Xi, 1) = .[B3] '日期
- Ar(Xi, 2) = .Cells(Rng(Xi).Row, "B") '實調書編號
- Ar(Xi, 3) = .Cells(Rng(Xi).Row, "N") '電號
- Ar(Xi, 4) = .Cells(Rng(Xi).Row, "D") '地點
- SS = "=IF(RC[4]=1,""查無竊電"",IF(RC[3]=1,""稽查成案"" & SUM(RC[6]:RC[9])&""KW"",""""))"
- Ar(Xi, 5) = SS '是否成案
- Ar(Xi, 6) = .Cells(Rng(Xi).Row, "E") '密告
- Ar(Xi, 7) = .Cells(Rng(Xi).Row, "F") '非密告
- KK = "=IF(COUNTA(RC[+1]),""是"",IF(COUNTA(RC[+2]),""否"",""""))"
- Ar(Xi, 8) = KK '現場檢驗結果
- Ar(Xi, 9) = .Cells(Rng(Xi).Row, "G") '是
- Ar(Xi, 10) = .Cells(Rng(Xi).Row, "H") '否
- Ar(Xi, 11) = .Cells(Rng(Xi).Row, "I") '燈(惡性
- Ar(Xi, 12) = .Cells(Rng(Xi).Row, "J") '力(惡性
- Ar(Xi, 13) = .Cells(Rng(Xi).Row, "K") '燈(非惡性
- Ar(Xi, 14) = .Cells(Rng(Xi).Row, "L") '力(非惡性
- Ar(Xi, 15) = .Cells(Rng(Xi).Row, "A") '項目
- Ar(Xi, 16) = .Cells(Rng(Xi).Row, "O") '營業
- Ar(Xi, 17) = .Cells(Rng(Xi).Row, "R") '行業別
- Ar(Xi, 18) = .Cells(Rng(Xi).Row, "Q") '竊電方式
- Ar(Xi, 19) = .Cells(Rng(Xi).Row, "S") '移送情形
- Ar(Xi, 20) = .Cells(Rng(Xi).Row, "P") '提報部門
- Next
- End With
- With Sheets("綜合資料庫").Cells(Rows.Count, "B").End(xlUp).Offset(1)
- .Resize(Rng.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(Ar))
- End With
- End Sub
複製代碼 .Resize(Rng.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(Ar))
第34行出現錯誤
請問要修改什麼呢?
而原本的Integer 變數,為什麼不直接使用Long變數就好,執行位元組較多
是否有版本的問題而不能直接使用Long變數? |
|