サイトについて      連絡先   検索

VBA 構造体

はじめに

Excel VBA で構造体(ユーザー定義型)の宣言・初期化など操作する方法を紹介します。

構造体を作成すると複数の値を一つにまとめられるので、値に関連性ができます。

構造体には関数を作成できません。

構造体の定義

構造体はコードの上部、他の関数より上に定義します。

Public で定義できるのは標準モジュールのみです。

Private Type Point
    X As Integer
    Y As Integer
End Type

Public Type Size
    Height As Integer
    Width As Integer
End Type

構造体の宣言・初期化

構造体にコンストラクタはありません。

フィールドを一つずつ初期化します。

' 初期化
Dim p As Point
p.X = 10
p.Y = 20

' 代入
Dim l As Point
l = p

構造体の配列

構造体を配列にするのに特別なことは一切ありません。変数を配列で宣言するのとまったく同じです。

宣言時に配列化

Dim p(3) As Point
p(0).X = 10

定義時に配列化

Private Type Point
    X(3) As Integer
    Y()  As Integer
End Type

Sub Tips
    Dim p As Point
    p.X(0) = 10
    ReDim Preserve p.Y(5)
    p.Y(0) = 20
End Sub

関連ページ