- ベストアンサー
マクロ初心者のための実行時エラー1004の解決方法
- マクロ初心者がエクセルのマクロで実行時エラー1004が発生した場合、対処方法を教えてください。
- エクセルのマクロで実行時エラー1004が表示された際、特にos:win2000で起こることがあります。エラーが発生している箇所は「NewSheet.Cells(y, x).FormulaR1C1 = "=SUM(RC[" & (2 - x) & "]:RC[-1])"」です。
- マクロ初心者がエクセルのマクロで実行時エラー1004に遭遇し、データをアクセスに落とし新しいシートで月ごとの統計をとろうとしていますが、できなくなってしまいました。解決方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 内容はわかるけれども、途中からというのはどうも、あまり質問としては良くないですね。一応、ある程度、答えが必要なら、他人にわからせるためのコードは提供してもらいたいなって思います。 まったくの初心者が、ADO オブジェクトを使うというのも、少し無理があるとは思いますし、 >エクセルのマクロで入力したデータをアクセスに落としそこから新しいシートで月ごとの統計をとれるようになっていたのですが、とれなくなってしまいました。 とれなくなってしまったという、根本的な原因とか、それはわかりませんが、それらの数式に、全部、「'(シングルクォーテーション)」を入れたらどうでしょうか?しかし、そのままでは、文字列ですから、「=」の数式の入ったところは、少し遅くなるけれど、以下のように変えてみたらどうでしょうか? NewSheet.Cells(y, x).FormulaR1C1 = "=SUM(RC[" & (2 - x) & "]:RC[-1])" y = y + 1 For i = 2 To x NewSheet.Cells(y, i).FormulaR1C1 = "=SUM(R[" & (2 - y) & "]C:R[-1]C)" Next ↓ '----------------------------------- With NewSheet .Cells(y, x).FormulaR1C1 = "'=SUM(RC[" & (2 - x) & "]:RC[-1])" .Cells(y, x).Value = .Cells(y, x).Value '(たぶん必要) y = y + 1 For i = 2 To x .Cells(y, i).FormulaR1C1 = "'=SUM(R[" & (2 - y) & "]C:R[-1]C)" .Cells(y, i).Value = .Cells(y, i).Value '(たぶん必要) Next End With '-----------------------------------
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >エクセルを終了させる際、保存はしないことになっているのですが >もしかしたら保存して終了しまったかも… その部分は関係がないと思います。 >マクロは実行されませんでした。。 というよりも、『同じエラーが出るかどうか』、ということですね。 >「実行時エラー1004アプリケーション定義またはオブジェクト定義のエラーです。」 このエラーは、今回のようなケースで、かなり原因が絞られるようですが、なんと言っても、こちらも試すことがあまり出来ないのです。同じスタイルで組めることは組めるのですが、手間が掛かりそうなのです。 ただ、もし、マクロが詳しい方なら、どうしてもうまくいかない場合は、EXCEL内については、EXCEL内で行わせてしまうという方法があるとは思うのですね。EXCEL側のブックを開いて、NewSheet を作った後、ActiveSheet として、シート内に数式を作ってしまうことも可能なのです。いくつか手立てはあるものの、ある程度のマクロというか、VBAの知識が必要になってしまいます。
お礼
ご回答いただき本当にありがとうございました。 初心者にはやっぱり無理ですね(^_^;) これをきっかけに少し勉強してみようと思います。 ありがとうございました
お礼
ご回答いただきありがとうございます。 ご指摘のとおり、実はどこからコードを書いてよいのかわからず、 エラーの出ている分の近くから書いてしまいました。すみませんでした。 >まったくの初心者が、ADO オブジェクトを使うというのも、少し無理があるとは思いますし、 そうですね…おっしゃるとおりです。。。 >とれなくなってしまったという、根本的な原因とか、それはわかりませんが エクセルを終了させる際、保存はしないことになっているのですが もしかしたら保存して終了しまったかも… 教えていただいた部分を削除して貼り付けしてみましたが、 マクロは実行されませんでした。。 やはり初心者には無理がありますね。 助けていただきありがとうございました。