ExplicitDimによる変数宣言をしないと変数を使えないようにする設定です。(プログラミングにおける変数はデータを格納する箱に名前を付けたものと認識するのが一般的です)宣言していない変数を使用すると構文エラーとなりプログラムが動かなくなります。不便に感じますが実際には作成効率が良くなります。変数名を間違えて打ち込んでしまった際、この設定をしていれば構文エラーで検出が出来ますが、そうでない場合、新しい空の変数となってしまいプログラムの挙動がおかしくなります。Explicitを設定することを推奨します。定数とは最初に値を設定して以降、プログラム中で変更しない変数です。セルのアドレスなどプログラム中で多用するものを設定します。定数にするとプログラム中で間違えて中身を変えることを防ぐことが出来ます。手間と間違える危険性が発生します。宣言時のみ可能Asはデータ型(データの種類)の宣言です。Integerは整数、Stringが文字列です。"J3"手の定数を手の名前に変換FunctionFunctionはプロシージャの一つでコードを一まとめにして名前を付ける機能です。他の言語では関数やメソッド、サブプログラムなど様々な呼び方があります。何度も使用するコードや長いコード、シートから呼び出す場合に使用します。プロシージャにはFunctionとSubがあります。手の定数を手の名前に変換Functionは先述の定数で定義した数値の手を人間にわかる表現にするFunctionです。プロシージャにする必要性は低いのですがテストしやすくするためにFunctionにしています。FunctionFunctionであればセルの数式でユーザ定義関数として実行できます。手の定数を手の名前に変換Functionの実行例Functionは下記のように作成します。黄色のマーカーの箇所は作成者が自由に決める部分です。Functionファンクション名や引数名は可能な限りファンクションや引数の役割を表す名前にしましょう。ファンクション名に値を入れると入れた値が戻り値となります。(多くの言語ではreturn句が多いです)引数やデータ型は省略可能です。手のボタンSubシート上のボタンから呼び出すためのプロシージャです。それぞれ対応する手を引数にゲーム開始Functionを実行します。戻り値のないプロシージャを実行する場合はCallを使用します。Sub作成したらボタンからマクロの登録を行います。Integer)引数として「プレイヤーの手」を受けます。前述の手のボタンSubから呼び出されプレイヤーの手に1(グー)か2(チョキ)か3(パー)が引数として格納されます。「プレイヤーによる手」ごとに勝敗判定のIF文を作ります。下記はグーを選ぶ場合のIFです。"プレイヤーの勝ちです。"プレイヤーの負けです。If一番、上位のIFで「プレイヤーの手」の判定をして、その中のIFで「コンピュータの手」と突き合わせます。「プレイヤーの手」と「コンピュータの手」をで一致するパターンがあれば表示するメッセージ設定と勝敗セルへの値設定を行います。この構文は指定セルの値を1つカウントアップする構文です。1同様のIF文の入れ子をチョキとパーのバージョンで作りMsgBoxで結果をプレイヤーに提示します。Function1,2,3の値をランダム(乱数)で返すFunctionです。「Randomize」は乱数を使うために必要な構文です。Rnd()は0~0.999...のうち何れかの値を返します。これに3を掛けることで0~2.999...の何れかになります。そこに1を足すと1~3.999...になります。Intは小数点以下を切り捨てて整数にするFunctionです。これにより1か2か3になります。SubSubプロシージャのためボタンから呼び出す処理です。このSubは勝敗リセットボタンにマクロ登録をします。値はセルに値を設定するコードです。逆に書くとセルから値を取得するコードになります。マクロ・VBA管理人の欲しい物リストコメントについて「〇〇が動かない」系の質問は実行環境の違いの要素も多いため、回答できないことが多いです。「〇〇したいけど、実現方法がわからない」だと回答可能なことが多いです。コメントは承認性です。サイト上に反映されるまで時間差があります。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。TOPモバイルバージョンに。