パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
受講生さんの投稿
(投稿ID: 5212)
小川 慶一さんのコメント
(コメントID: 7392)
range("a1").value = 5
Range("a1").Value = 5
ranje("a1").balue = 5
Ranje("a1").balue = 5
Sub Hoge() dim Hensu hensu = 3 range("A2").Value = hemsu End Sub
Sub Hoge() dim Hensu Hensu = 3 End Sub Sub Fuga() hoge hqge End Sub
受講生さんのコメント
(コメントID: 7393)
(コメントID: 7395)
Captcha:
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2025年04月28日 08:52
2025年04月22日 05:41
2025年04月18日 09:15
2025年04月09日 07:21
2025年04月06日 09:31
2025年04月29日 17:15
2025年04月29日 17:13
2025年04月28日 09:16
2025年04月28日 07:22
2022年02月24日 10:59
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2025年04月15日 11:30
2025年04月08日 16:30
2025年04月07日 16:30
2025年04月04日 15:45
2025年03月27日 13:30
2025年02月04日 08:51
2025年02月03日 12:58
2024年11月27日 11:48
2024年11月25日 12:07
2024年11月17日 09:51
2025年03月26日 22:33
2025年03月26日 22:12
2025年03月24日 22:28
2025年03月19日 20:10
2025年03月18日 20:52
2025年04月16日 08:30
2025年03月18日 09:07
2025年03月18日 09:06
2025年03月15日 13:23
2025年02月26日 16:37
2025年04月02日 21:01
2025年04月02日 20:47
2025年04月02日 20:37
2025年04月01日 22:03
2025年04月01日 21:27
2025年04月16日 08:32
2025年03月18日 09:10
2025年03月18日 09:09
受講生さんの投稿
(投稿ID: 5212)
現時点の学習段階で質問があります。
コードを書いていくときは基本的には、半角と小文字で書いていくと言うことでしたが、サブプロシージャ名と変数、そしてA1、B1などのセルは大文字で書きはじめるという理解で良かったでしょうか?
セルはa1という小文字でも反応しましたが、先生は大文字で書かれていました。小文字で書き始めない理由は何かありますか?
小川 慶一さんのコメント
(コメントID: 7392)
のちほど第2章で説明しますが、セル番地の指定は文字列で行います。
Range("A1").Value = 5 であれば、 "A1" の部分は文字列です。
セル番地指定の部分を小文字で書いても結果的に正常動作します。
とはいえ、そもそも、厳密に言えば "A1" という文字列と "a1" という文字列は別物です。
エクセルシート上ではセル番地は大文字アルファベットと数値の組み合わせで書かれています。
その点を考慮すると、 "A1" という番地を指定するのに "a1" と書いてしまうのはあまりスマートではないと僕は思います。
なお、以下は、念のための補足 & 今後のための追加情報です。
"a1" が "A1" に自動変換されないのは、これが文字列だからです。
「"excel" とすべて小文字で文字列を書きたかったのに "Excel" と勝手に変換された」みたいなことは起こりませんが、それと同じことです。(起きたらむしろ困りますね)
一方、Range, Value 等の、命令を示すためにあらかじめ用意されている言葉は、小文字で書いても、自動的に大文字小文字の組み合わせに変更されます。(かなり学習が進むと例外はありますが、当面はこの理解でOKです)
以上から、以下のようにプログラムを書くと
以下のように、 range, value だけ自動的に書き直されます。
この自動的に書き直してくれる機能は、活用できると便利です。
どのように便利かというと、書き間違いの検出に利用できます。
たとえば、英語のつづりを間違えて、以下のように書いてしまったとしましょう。
すると、 ranje, balue という言葉はあらかじめ用意された言葉ではないので、自動的に大文字小文字の組み合わせに変更されません。
そのことから、「あれ?大文字小文字の組み合わせに変更されなかったぞ...?なぜだ...?ああ、つづりを間違えていた!」と、すぐに気づくことができます。
これが、以下のように最初から ranje -> Ranje, balue -> Balue と律儀に大文字小文字の組み合わせで書いてしまうと、
この「自動変換されないことからおかしいと気づく」という機会を逃してしまいます。
「コードを書いていくときは基本的には、半角小文字で書いていく」という書き方を推奨しているのは、以上の理由からです。
この「自動的に大文字小文字の組み合わせに変更される」機能は、「あらかじめ」用意されている言葉だけでなく、自分で定義する変数やサブプロシージャの名称(つまり、「自分で新たに用意した言葉」)についても使えます。
たとえば、以下で、 hensu = 3 という箇所は、自動的に Hensu = 3 と修正されます。一方、「hemsu」のほうではそういうことは起こりません。これにより、「hemsu」等と書き間違えた場合にそのミスを検出できます。
発展編1では、「サブプロシージャを他のサブプロシージャから呼び出す」という手法も学びます。(導入編でもちらっとやりました)
そのときにもこの自動変更機能が役に立ちます。
たとえば、以下では、 hoge は Hoge に変更されますが、 hqge は hqge のままです。
以上で、いただいたご質問に関係しそうなところはだいたい示したつもりですが...。
いかがでしょう。
まだ疑問解消していない点がもしあるようでしたら、また投稿をお願いします。
受講生さんのコメント
(コメントID: 7393)
質問に的確に回答してくださり、良く理解できました。
また、なぜ"a1"が"A1"に変換されないかという、質問以上の回答までありがとうございます!(^^)
小川 慶一さんのコメント
(コメントID: 7395)
よかったです。
ひきつづきよろしくお願いいたします ^ ^