No.5ベストアンサー
- 回答日時:
こんにちは。
私は以前勉強がてらクラスモジュールを使ってドラクエのような
ゲーム(戦闘シーンのみ)を作りました。
これで他の方の回答にもあったインスタンスというのが
分かった気がしました。
クラスモジュールを使う私なりの解釈では
Excelに存在しない何かをExcelで使いたいときにクラスモジュールを
使います。
たとえば、Excelのオブジェクトに「車」というオブジェクトは
存在しません。
ExcelのプログラムでExcel上に車を存在させるには
車オブジェクトが必要になるので
それをクラスモジュールで定義します。
ここで車種や色、大きさといったプロパティを定義します。
そして進む、止まる、バックするといったメソッドを定義します。
これでオブジェクトができるので後は標準モジュールなどから
このオブジェクトを使います。
その時、オブジェクトをそのまま使うのではなく
オブジェクトのコピーのようなもの(インスタンス)を使います。
、、、と話は長くなるのですが、私はこんな形で解釈しています。
No.4
- 回答日時:
最近、クラスモジュールを使った回答を2件しています。
http://okwave.jp/qa5087647.html
のNo.3ですが、一秒間に一度起こるイベントを定義しています。これは、クラスモジュールを使わないとできないと思います。
http://okwave.jp/qa5070895.html
のNo.3ですが、これはクラスモジュールを使うことで、データの管理が楽になっている事例です。この質問者は、関数に10個のデータを渡す時、シート間にまたがるデータ、列間にまたがるデータを渡すアルゴリズムに苦労されたのだと思いますが、クラスモジュールを使うと、データをオブジェクトが保持していますので、ところてん式にデータを1個ずつ渡していくだけで、単純移動平均の計算ができています。まあ、こんな簡単な事例ですのでモジュールレベルの配列にデータを入れて、普通の手続き型?プログラミングでも出来ると思いますが。
No.3
- 回答日時:
こんにちは。
初心者に教えるようなことはないとは思いますが、簡単に言えば、クラスモジュールは、プログラムの設計図のようなものです。それを実行して、それで、インスタンスが作られるわけです。ある人は、鯛焼きの型と鯛焼きの関係だと言いましたが、私は、設計図と実体(化)(英語からの発想)だと考えています。
ユーザー定義関数などは、個別のブックで使うなら、あえてクラスで作る必要はありません。コントロール配列も、コントロール・ツールをクラスで設定するのは、好みに近いと思います。
Excel VBAでは、ひとつだけないものは、Application イベントです。でも、物知りで皮肉な人は、ThisWorkbook モジュールでも作れるのではないか、というかもしれませんが、クラス側のほうが楽だと思います。その点、Word VBAになると、標準モジュールでエラーが発生したりするので、Class を使わざるを得ない場面が出てきます。
No.2
- 回答日時:
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
標準モジュールとクラスモジュールの違い
PowerPoint(パワーポイント)
-
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフのX,Y座標を取得したい
-
Excel VBA 標準モジュール内で...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
acwzlibとは?
-
Excel VBAでリンク切れをチェッ...
-
VBA モジュールで共通に使う変...
-
VBAのバージョンアップ
-
'Range'メソッドは失敗しました
-
デスクトップ用無線LAN基板でモ...
-
ベースモジュールって?
-
VBA ユーザーフォーム Image1 ...
-
CGI.pmを別の複数の自作モジュ...
-
モジュールの最大数はいくつな...
-
VBAで旧字体を異字体に一括で変...
-
ユーザー定義関数に#NAME?が返...
-
マクロについて教えてください。
-
ftpのアクティブモード対応モジ...
-
大量の標準モジュールを解放す...
-
VBAで別モジュールへの変数の受...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
Excel VBAで、ユーザーフォーム...
-
VBAで旧字体を異字体に一括で変...
-
ユーザー定義関数に#NAME?が返...
-
VBA This Workbookモジュール...
-
Excel VBA 『Call』で呼び出す...
-
【vba】フォームに書いてあ...
-
Access VBA標準モジュールにつ...
-
モジュールの最大数はいくつな...
-
'Range'メソッドは失敗しました
-
vba userFormのSubを標準モジュ...
-
VBAで別モジュールへの変数の受...
-
グラフのX,Y座標を取得したい
-
標準モジュールを削除したい。(...
-
VBAProjectのモジュ...
-
ExcelVBA:パブリック オブジェ...
-
Excel VBA 標準モジュール内で...
-
acwzlibとは?
おすすめ情報