パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
受講生さんの投稿
(投稿ID: 4246)
小川慶一さんのコメント
(コメントID: 5823)
ゲストさんのコメント
(コメントID: 5825)
(コメントID: 5828)
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2024年05月01日 14:04
2024年04月30日 17:13
2024年04月27日 15:36
2024年04月25日 07:00
2024年04月23日 21:36
2024年05月01日 18:39
2024年05月01日 18:17
2024年05月01日 17:47
2024年05月01日 15:18
2024年05月01日 15:01
2022年02月24日 10:59
2019年12月23日 05:57
2019年09月20日 12:29
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
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
2024年02月15日 18:30
2024年02月09日 17:05
2024年01月19日 13:00
2023年12月31日 17:00
2023年12月21日 14:00
2024年05月02日 05:00
2024年05月01日 18:30
2024年04月27日 23:02
2024年02月28日 14:53
2024年02月27日 14:27
受講生さんの投稿
(投稿ID: 4246)
VBA初心者です。(N88BASICとLOTUS1-2-3のマクロを作った経験あります(笑))
ドリルで誤って
range("c4").value=range("b4").value*zeiritsu
と書こうとして
range("c4")=range("b4")*zeiritsu
と,valueを忘れてしまいましたがちゃんと結果が出ました。
.valueを忘れてしまった場合に何か不具合がありますか?
小川慶一さんのコメント
(コメントID: 5823)
> .valueを忘れてしまった場合に何か不具合がありますか?
基礎編レベルでは問題ありません。
ただし、 .Value をつけたときとつけなかったときとでニュアンスが異なります。
この「ニュアンスの違い」をなおざりにしたままで勉強を進めていると、発展編1レベルあたりで行き詰まることがあります。
たとえば以下の方。この方は、その件が顕在化したのは発展編2に入ってからですが。
https:¥¥www.exvba.com¥comment_detail.php?comment_id=10712
なので、たとえ今の段階では問題でなくても、セルの値を取得する時、セルに値を設定するときには、 .Value はつけるように習慣づけることをおすすめします。
関連記事は以下。
以下、まだ今の段階ではお伝えしていない知識も含まれていますが...。
「「セルの値」を指定するとき、.Value は省略してよいものか? – Excelマクロ・VBA」
https:¥¥www.exvba.com¥2183¥
> はじめまして。よろしくお願いします。
> VBA初心者です。(N88BASICとLOTUS1-2-3のマクロを作った経験あります(笑))
>
>
> ドリルで誤って
> range("c4").value=range("b4").value*zeiritsu
> と書こうとして
> range("c4")=range("b4")*zeiritsu
>
> と,valueを忘れてしまいましたがちゃんと結果が出ました。
>
> .valueを忘れてしまった場合に何か不具合がありますか?
ゲストさんのコメント
(コメントID: 5825)
> > .valueを忘れてしまった場合に何か不具合がありますか?
>
> 基礎編レベルでは問題ありません。
> ただし、 .Value をつけたときとつけなかったときとでニュアンスが異なります。
>
> この「ニュアンスの違い」をなおざりにしたままで勉強を進めていると、発展編1レベルあたりで行き詰まることがあります。
返答が遅くなりまして済みません。
.valueは付けるよう訓練します。ついでに.valueについて
ネット検索したら、付いていないと.valueを付けたものと
見なす旨の記載も見つけました。
> たとえば以下の方。この方は、その件が顕在化したのは発展編2に入ってからですが。
> https:¥¥www.exvba.com¥comment_detail.php?comment_id=10712
>
上記のURLをChromeで見ようとすると
このサイトにアクセスできません www.exvba.xn--comcomment_detail-eta.php のサーバーの IP アドレスが見つかりませんでした。
exvba com¥comment detail php を Google で検索してください
ERR_NAME_NOT_RESOLVED
とメッセージが出てしまい、中身が見れません。
見方を教えてください。
小川慶一さんのコメント
(コメントID: 5828)
おはようございます。
> > たとえば以下の方。この方は、その件が顕在化したのは発展編2に入ってからですが。
> > https:\\www.exvba.com\comment_detail.php?comment_id=10712
上記の件、すいません。
システムのエラーで、URLがおかしくなってしまっていました。
正しくは、以下です。
https://www.exvba.com/comment_detail.php?comment_id=10712
もうひとつのリンクも、正しくは、以下です。
「「セルの値」を指定するとき、.Value は省略してよいものか? ? Excelマクロ・VBA」
https://www.exvba.com/2183/
> .valueは付けるよう訓練します。
> ついでに.valueについてネット検索したら、付いていないと.valueを付けたものと見なす旨の記載も見つけました。
それはそうなる可能性が高いのですが、「聞き手の側に解釈を委ねるような表現は極力避けるのが無難、『.Valueが付いていないと.Valueを付けたものと見なす』と、聞き手の解釈に委ねるような指示はしないほうが無難」というのが前回の僕のお返事の趣旨でした。
「セルA5を8にしておいて!」
というより、
「セルA5の値を8にしておいて!」
というほうが、より安心です。
たとえば...。
以下の文例について考えてみます。話者は日本語ネイティブ。あなたも日本語ネイティブとします。
【文例】
ガスコンロに鍋が2つ置かれている。そのうちひとつは空。もうひとつは、鍋に煮物が入っているとする。
そのとき、
「煮物の鍋、水を入れて温めておいて!」と言われる。
↑
たとえば、こういうありふれた日本語の一文でも、文脈によって、複数の解釈が可能です。
[可能性1] 話者は、「鍋」ではなく、「鍋の中身」、すなわち「煮物」を温めることを欲しているのか?
[可能性2] 話者は、「煮物ではなく、その入れ物たる鍋だけを温める」ことだけを欲しているのか?
[可能性3] 話者は、「鍋を2つとも温める」ことを欲しているのか?
[可能性4] 話者は、鍋のうち1つは空であることを知らず、「2つの鍋の中身を温める」ことを欲しているのか?
私たちは、また、自然人です。
また、共通の文化を持った話者(要するに、同じ日本人)からの依頼であれば、文脈(たとえばまさに今食事をとろうとしているのが?それとも、何らかの料理の仕込みを開始しようとしているのか?等)に応じて、話者の言いたいことを推測する力があります。
判断がつかない場合は話者に問い合わせ、解釈のすり合わせをすることもあります。
さらに、「火の取扱いでは十分注意するべし」と、経験を通じて学んでいます。
ですので、おそらく、混乱は起こるかもしれませんが、最終的には、話者の所望する行動を取ることができるでしょう。
ただし、これは、前述の前提に基づいた、かなり危うい予測です。
[1] 自然人同士である(人間同士)
[2] ネイティブ言語が共通である(ともに、日本語ネイティブ)
[3] 文化を共有している(「ガスコンロを前にしてすべき行動とはこういうものだ」というだいたいの前提の共有がある)
[4] 文脈を共有している(「夕食前だ」、「ほかの調理のために近いうちに鍋を使う予定がありそうか?」等)
[5] 「必要に応じて対話する」というプロセスがある(聞き手は、「あの鍋、煮物が入っているよ?あの煮物を温めればいいんだね?」と聞く)
[6] 「特に注意を要する行動である」という特別な注意喚起が前提として存在する(火を使うシーンだからより注意深く確認しよう)
翻って、「エクセルのなかのこびとちゃん」への依頼となると、解釈の違いを起こしかねない、以下のようなリスクがあります。
[1] 相手は機械である
[2] 相手のネイティブ言語はVisual Basicである
[3] 文化を共有していない
[4] 文脈にほとんど気を使わない
[5] 「必要に応じて対話する」というプロセスがない
[6] 特別な注意喚起が前提として存在しない
では、どうするか?
日本語でも、前記 [可能性1]-[可能性4] のそれぞれ、本来であれば、話者は、あなたに、たとえば、以下のように依頼すべきです。
[可能性1] 話者は、「鍋」ではなく、「鍋の中身」、すなわち「煮物」を温めることを欲しているのか?
↑
「ガスコンロの上にある鍋のうちひとつに煮物が入っています。その煮物に水を追加し、温めてください」
[可能性2] 話者は、「煮物ではなく、その入れ物たる鍋だけを温める」ことだけを欲しているのか?
↑
「ガスコンロの上にある鍋のうちひとつに煮物が入っています。その煮物は、タッパーに移し替えてください。そして、煮物を取り出したあと、その鍋を洗い、そして、水を入れて温めてください」
[可能性3] 話者は、「鍋を2つとも温める」ことを欲しているのか?
↑
「ガスコンロの上に鍋が2つあります。その両方に水を加え、そして温めてください。ただし、もしもそれらの鍋に中身が入っている場合は、その中身をタッパーに移し替え、鍋を洗ってから、それを行ってください」
[可能性4] 話者は、鍋のうち1つは空であることを知らず、「2つの鍋の中身を温める」ことを欲しているのか?
↑
「2つの鍋の中身を温めてください」
あまりキレイな日本語ではありません。
上記の文例はあくまで、自然言語だけで、一方的にまくしたてて伝える場合です。
対話しながら希望を伝えるのであれは、さらに簡単でしょう。
たとえば電話であれば、以下のような会話になるかもしれません。
「鍋、温めておいて」
「どの鍋?」
「ああ、左側の」
「煮物が入っているよ?」
「ああ、それそれ。家に帰ったらすぐ食べたいから」
電話ではなくガスコンロの前での二人の会話であれば、仕草等もまじえてより簡単にコミュニケーションできるでしょう。
たとえば、話者がどららの鍋について話しているのか?ということは、指をさすとか視線を送る、というくらいで十分に知らしめられます。
しかし、くり返しますが、そういうことはが可能なのは、かなり前提を共有できているからなのです。
「家の中で鍋を温める」くらいなら大した問題ではありません。
話者の期待と違う結果になったとしても、笑い話で済むでしょう。
しかし、「業務でプログラムを書いて実行した結果、プログラマーの期待と違う結果になった」となると、大きな問題になります。
まして、日本人と日常会話をするときに比べ、聞き手に誤解されるリスクが高いです。
ですので、プログラマー側に、「聞き手の側に解釈を委ねるような表現は極力避ける」という十分な注意が要求されます。
「セルA5を8にしておいて!」
というより、
「セルA5の値を8にしておいて!」
というほうが、より安心です。