pickup

Excelには、様々なプロパティや、メソットが用意されています。

では、Exxcelに、車というプロパティやメソットはよういされていますでしょうか?

無いです。当然、おにぎりというプロパティもありません。

目次

スポンサーリンク

Excelでおにぎりを作ってみる

こんにちは。伊川(@naonaoke)です。

今回は、クラスモジュールについて説明をします。

多分、クラスモジュールに関しては、仕切りの高いと思われがちです。

私も、動画で質問が来てから、なんとなくしか理解していません。

検索をしている中で、とても、いい情報を見つけたので紹介します。

本日の内容は、ほぼ丸パクリです。

パクリの元です。

上記のサイトを参考にさせていただきました。

この場を借りてお礼を申し上げます。

スポンサーリンク

このブログはこんな人にお勧め

 

今回のテーマ
  • クラスモジュールってなに?って言う人
  • クラスモジュールの情報がなくて困っている人
  • クラスモジュールの仕切りが高い人

 

 このブログを、読み終わるころには・・・・

多分、クラスモジュールの概要が理解できると思います。
クラスモジュールでは、よく、たい焼きの話が例えになりますが、動画内では、たい焼きをおにぎりにかえて説明しています。
参考になれば幸いです。
スポンサーリンク

クラスモジュール

 

クラスモジュールについては、設計図、オブジェクト指向、カプセル化、承継という内容で説明されています。

この辺から、私は、何を言っているのか理解できませんでした。

しかし、クラスモジュールを利用すると、とても便利ということしか記載がありません。

また、クラスモジュールを説明している書籍も少なく、良書は、絶版にもなっており、非常に検索しにくいのが現状です。

しかし、そんなに便利なモノなら、利用してみたいと思うのが人情ですね。

では、クラスモジュールについて説明をします。

Naosuke
プログラムを学ぶ人には、ぜひとも読んでいただきたい1冊です。
オブジェクト指向。
つまり
自分で、オブジェクトを作っちゃえって内容です。

 

クラスモジュール 作業手順 その1 データベース確認

 

おにぎりのデータベースです。

関西圏では、おにぎりを作るときは、俵型のようですね。

Naosuke

ご視聴者様からの回答です。

アダムの分身猫たちのしもべさんからの回答

配信ありがとうございます😊
関西ですが基本は三角、お弁当に入れる時は俵ですね。

クラスモジュールは、Excelと相性がいいようです。

下記の書籍で説明されています。

このデータベースをもとに、形で、呼出をしたいと思います。

 

クラスモジュール 作業手順 その2 設計図を書く

 

下記の内容をクラスモジュールに記載します。

Public 形   As String
Public 具材   As String
Public 米の量   As String
Public 海苔の素材   As String
Public 塩   As String
Public 販売先   As String

Public Property Get Self() As おにぎり
    Set Self = Me
End Property

おにぎりという名の設計図です。

その設計図の中に、おにぎりの部品なるものを記載します。

Public 形   As String

このような感じでしょうか

Public Property Get Self() As おにぎり

    Set Self = Me

End Property

この部分に関しては、おにぎりを呼び出すときに使うコードです。

このように記載をしておくことで、プロパティが作成されます。

余談

これは、ACCESSの入力フォームのVBEの画面です。

ACCESSクラスオブジェクトの階層下にForm_F_入力とありますね。

Naosuke
これもクラスモジュールなのでしょう。

 

クラスモジュール 作業手順 その3 標準モジュールに記載するコード

 

Enum 列
形 = 1
具材
米の量
海苔の素材
塩
販売先

End Enum



Sub おにぎり販売()
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("Sheet1")
    
    Dim おにぎり As New Collection

    Dim i As Long
    For i = 2 To 100
        With New おにぎり
        .形 = sh.Cells(i, 列.形)
        .具材 = sh.Cells(i, 列.具材)
        .米の量 = sh.Cells(i, 列.米の量)
        .海苔の素材 = sh.Cells(i, 列.海苔の素材)
        .塩 = sh.Cells(i, 列.塩)
        .販売先 = sh.Cells(i, 列.販売先)
       おにぎり.Add .Self
       End With
    
    Next i
    
 Dim p As おにぎり
  i = 1
    For Each p In おにぎり
         If p.具材 = "ツナマヨ" Then

           Sheets("Sheet2").Range("A" & i & ":F" & i).Value = _
           Array(p.形, p.具材, p.米の量, p.海苔の素材, p.塩, p.販売先)
           i = i + 1
          End If
   
    Next
End Sub

このようなコードを記載します。

呼び出した結果を、Sheet2転記します。

クラスモジュール 作業手順 その4 セルへ転記するときのコード

 

Sheets(“Sheet2”).Range(“A” & i & “:F” & i).Value = _

Array(p.形, p.具材, p.米の量, p.海苔の素材, p.塩, p.販売先)

この部分に関しては、Yahooの知恵袋で教えてもらいました。

クラスモジュールの値を、セル上に表記するという経験がないので、皆目見当もつきませんでした。

スポンサーリンク
形を三角で呼び出すと、上記のような結果が得られます。

呼び出す値を、ツナマヨに変更すると、上記のような結果が得られます。

クラスモジュール 作業手順 その5 クラスモジュールの理解の方向性

 

まず、オブジェクト指向とは、自分でオブジェクトを作成しなさいという意味でしょう。

実際に私は、おにぎりという名のオブジェクを作成しました。

たしかに、今回のプログラムに関しては、楽になったような気がします。

でもまだ、こんなもんじゃないと思います。

達人たちが便利といっているのでもっと便利だと思います。

 

Naosuke
この書籍は、本当にためになります。
VBAの書籍で、クラスモジュールを説明している数少ない書籍です。

ここがポイント

ここがポイント
Function8.png
今回はクラスモジュールについて、説明しました。
なんとなくですが、少しずつ理解できてきたような気がします。
まだまだ、ハードルは高いと思いますが、パクリでもなんでもいいので、この知識はなんとしても習得したいと思っています。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

今回は、動画でも公開しましたが、おにぎりを作るところが一番重要です。

これが、クラスモジュールについて、一般的な解説です。

しかし、まだまだです。

もっとわかりやすい説明をしたいと思っています。

 

今回のサンプルファイルは、No249です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事