5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
urasakijhonさんの投稿
(投稿ID: 5262)
を実行すると実行時エラー1004となります。
また、
についても実行時エラー9となります。
urasakijhonさんのコメント
(コメントID: 7458)
アドバイスをお願いします。
小川 慶一さんのコメント
(コメントID: 7459)
エラーについての相談の場合は、エラーメッセージも記載してください。
たとえば、実行時エラー9の場合、「インデックスが有効範囲にありません。」等と記載されたのではないでしょうか。
実際、実行時エラー1004は、このエラーコードだけでは理由を判別できません。
さてさて。
ご質問2件についてですが、どちらも、初心者さんには複雑すぎますね。
こういうときは、いったん課題をより簡単なものにして、それから次第に難しくしていきながらどこでひっかかっているのか調べていくよりないです。
ということで、まずは、サブプロシージャ「oopen」から。
こういうとき、以下の [1], [2], [3], [4] に該当するフォルダに「③共通分をQ2からQ4へ.xls」を置いてマクロを実行してみて、どこでエラーが出るか、順番に試していきます。
たとえば、[1]でいきなりエラーがでるようであれば、構文が間違っているか、「③共通分をQ2からQ4へ.xls」というファイル名がそもそも間違っているか、"C:¥Users¥③共通分をQ2からQ4へ.xls"という書き方が間違っているか、です。
実務でお使いのファイルということでしたら、拡張子が本当に .xls なのかも念のため確認してください。
[1] ではOKだったけど[2]でひっかかったということであれば、「yuko」というフォルダが実在するのかどうか怪しい。
...と、そういう要領でチェックしていきます。
とはいえ、最初の[1]でひっかかるのではないかと思います。
なぜなら、ファイルパスを区切る円マークが、半角ではなく全角になっているからです。でも、そこだけ直せば問題は解決するのかというと、いただいたソースコードだけではわかりません。
サブプロシージャ「tenki」についても同様です。
まずは、右辺を単純にしてしまう。
それで動くようなら、右辺を次第に複雑にしていく。
以下は順を追ったテストの一例です。
初心者のうちはこのくらいのテストでも負担に感じますが、それは初心者だからです。
経験値を積むと(&講座で学ぶショートカットキーをしっかりマスターすると)、脳や身体にほとんど負荷をかけずに、速やかに解決できるようになります。
urasakijhonさんのコメント
(コメントID: 7462)
※ここにコメントする前に、エラーになったコードをメモ帳に張り付け、その張り付けたコードを、ここのコメントにコピペすると「/」に変換されてしまったので、手打ちで「¥」にしました。
実は違うエクセルbookを開いて同じように転記のコードを書くと、問題なく実行できました。
同じように書いているつもりでも、何かが違うのですねきっと。。。
アドバイスどおり、小分けにしてエラーを解消する作業をしていきます。
また、こちらで教えて貰っているショートカットキーと、都度調べているショートカットキーを駆使して、1週間で(20年使っていた)マウスを卒業することができました。快適です♪
ありがとうございました。
小川 慶一さんのコメント
(コメントID: 7467)
>アドバイスありがとうございます。実は全角で入っている「¥」は、実際は半角になっています。
>※ここにコメントする前に、エラーになったコードをメモ帳に張り付け、その張り付けたコードを、ここのコメントにコピペすると「/」に変換されてしまったので、手打ちで「¥」にしました。
そうだったのですね。
お気遣い恐縮です。
というか、「投稿欄にも、円マークがバックスラッシュになっても気にせず投稿してください」という趣旨の文言を追記すべきかもしれません。
なお、「投稿・相談のヒント」で示しているとおり、プログラムの前後をコードハイライト用のタグで囲うことができます。
その場合、円マークがバックスラッシュという変換は生じません。
https://forum.pc5bai.com/column/tips_to_post/#code_highlight
>また、こちらで教えて貰っているショートカットキーと、都度調べているショートカットキーを駆使して、1週間で(20年使っていた)マウスを卒業することができました。快適です♪
>ありがとうございました。
こちらも、失礼しました。
おみそれしました。快適とのこと、何よりです。
>実は違うエクセルbookを開いて同じように転記のコードを書くと、問題なく実行できました。
>同じように書いているつもりでも、何かが違うのですねきっと。。。
>アドバイスどおり、小分けにしてエラーを解消する作業をしていきます。
こちらは、しっかりやってみてください。
「同じように書いているつもりでも」ということですので、書くのではなく、動かないほうのコードをその「違うエクセルbook」のモジュールにコピー&ペーストで追加してから試してみる等々。
なお、発展編1で登場する ThisWorkbook.Path というプロパティを利用して、実行するマクロの入っているエクセルファイルのあるフォルダのパスを取得することができます。
(ThisWorkbook は実行するマクロの入っているエクセルファイル、 Path はそのフルバス)
長いパス文字列をソースコードに含めるより、マクロの入ったファイルと同じフォルダ(あるいはその下位のフォルダ)に処理対象のファイルを置いて、以下の要領でファイルを開くほうがたいていの場合簡単です。
小川 慶一さんのコメント
(コメントID: 7468)
あれ、すいません。
表示を再確認してみたのですが、やはりだめでした。
ともあれ、環境によって表示が変わるだけで円マークもバックスラッシュも中身は同じですので、気になさらないでください。
今後ともよろしくお願いいたします。