excel 巨集 這是那錯了?出現執行階段錯誤1004應用程式或物件定義上錯誤
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
excel 巨集 這是那錯了?出現執行階段錯誤1004應用程式或物件定義上錯誤
excel 巨集 這是那錯了?出現執行階段錯誤1004應用程式或物件定義上錯誤
這是一個簡單的 excel
我要在 H18~H268 填滿公式:
'=IF(COUNTIF($B$18:$B18,$B18)=1,SUMIF($B$18:$B$267,B18,$G$18:$G$267),"")
'=IF(COUNTIF($B$18:$B19,$B19)=1,SUMIF($B$18:$B$267,B19,$G$18:$G$267),"")
'=IF(COUNTIF($B$18:$B20,$B20)=1,SUMIF($B$18:$B$267,B20,$G$18:$G$267),"")
我用巨集來協助
Sub Macro1()
'
' Macro1 Macro
' AMD945 在 2017/6/5 錄製的巨集
'
' 快速鍵: Ctrl+u
'
Dim row_i As Long
For row_i = 18 To 258
'=IF(COUNTIF($B$18:$B18,$B18)=1,SUMIF($B$18:$B$267,B18,$G$18:$G$267),"")
'=IF(COUNTIF($B$18:$B19,$B19)=1,SUMIF($B$18:$B$267,B19,$G$18:$G$267),"")
'=IF(COUNTIF($B$18:$B20,$B20)=1,SUMIF($B$18:$B$267,B20,$G$18:$G$267),"")
'Sheets("Sheet1").Cells(row_i, 8) = "=IF(COUNTIF($B$18:$B"&row_i&",$B"&row_i&")=1,SUMIF($B$18:$B$267,B"&row_i&",$G$18:$G$267),"""")"
Sheets("Sheet1").Cells(row_i, 8) = "=IF(COUNTIF($B$18:$B"
Next row_i
End Sub
我將公式轉成 字串,來填入 cell
Sheets("Sheet1").Cells(row_i, 8) = "=IF(COUNTIF($B$18:$B"&row_i&",$B"&row_i&")=1,SUMIF($B$18:$B$267,B"&row_i&",$G$18:$G$267),"""")"
但是程式一直出現 執行階段錯誤1004應用程式或物件定義上錯誤
我將字串一直刪,刪到
Sheets("Sheet1").Cells(row_i, 8) = "=IF(COUNTIF($B$18:$B"
還是有問題,我真的無能為力了,為什麼這麼簡單的字串還能錯?
※excel 2003
test1.zip (9.9 KB)
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
2#
發表於 2017-6-5 22:34
| 只看該作者
自己解:
'Sheets("Sheet1").Cells(row_i, 8) = "=IF(COUNTIF($B$18 B"&row_i&",$B"&row_i&")=1,SUMIF($B$18 B$267,B"&row_i&",$G$18 G$267),"""")"
dim row_str as string
row_str="=IF(COUNTIF($B$18 B"&row_i&",$B"&row_i&")=1,SUMIF($B$18 B$267,B"&row_i&",$G$18 G$267),"""")"
Sheets("Sheet1").Cells(row_i, 8) = row_str
填入完整的字串就不會有error
好奇怪呀~~~~ |
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
3#
發表於 2017-6-5 22:57
| 只看該作者
參考: https://stackoverflow.com/questions/18574413/weird-run-time-1004-error-with-strings-in-excel-vba
附註: string 如果不完整,代入公式就會一直出現 error ,而且很難找
可以這樣 加入 『'』號
row_str="=IF(COUNTIF($B$18:$B" &row_i& ",$B&18)=1,SUMIF($B$18:$B$267,B"&row_i&",$G$18:$G$267),"")"
row_str="'=IF(COUNTIF($B$18:$B" &row_i& ",$B&18)=1,SUMIF($B$18:$B$267,B"&row_i&",$G$18:$G$267),"")"
變成寫入字串,而不是公式,這樣才能快速除錯 |
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|