5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
受講生さんの投稿
(投稿ID: 4295)
Range("C1").Value = Range("A1" ).Value & Range("A2" ).Value ですが、これをまとめてRange("C1").Value = Range("A1" & "A2").Value 左記のように書いたのですが、実行時エラー1004と出ました。これは何故動かないのでしょうか。宜しくお願いいたします。
小川 慶一さんのコメント
(コメントID: 5889)
> これをまとめてRange("C1").Value = Range("A1" & "A2").Value 左記のように書いたのですが
"A1" & "A2" → "A1A2" ですね。
そもそも、以下の[1]でもエラーになります。ので、[2]でも当然エラーになります。
書くなら、まだしも、以下の[3]です。
エクセルのSum関数等でも、隣接した複数セルを表現するときはこんな感じですね。
ただし、実行すると分かりますが、[3] では、 [4] と同じ結果は得られません。
> これをまとめて
ということでしたが、そもそも、"A1:A2" と範囲指定をまとめて、「これは、A1とA2にある値を結合してくれという意味だ」とこびとちゃんに解釈してもらおうというのは、ムリな話に僕には感じられます。
複数セルから値を拾ってきたなら、結合以外にも、足し算するかもしれない。かけ算するかもしれない。と、いろいろな可能性があります。その中で、こびとちゃんが「ここは、結合してほしいのだろう」と思ってもらえるとしたら、どうしてでしょうか。また、誤解が生じる可能性は?とか、いろいろ考えられます。
そこまで考えると、「前記[1]のような書き方のときには、NGとする」としたほうが、プログラミング言語の仕様としては親切かな、とも思います。
以上、どうでしょうか。
> お世話になります。この正月にだいぶ進捗できました。1つ確認させてください。
> Range("C1").Value = Range("A1" ).Value & Range("A2" ).Value ですが、これをまとめてRange("C1").Value = Range("A1" & "A2").Value 左記のように書いたのですが、実行時エラー1004と出ました。これは何故動かないのでしょうか。宜しくお願いいたします。