TOP > カテゴリ > Excel >

プロパティの使い方 [ExcelのVBA]

プロパティを表示する

はじめにVB/VBAの開発画面を起動します。

次に「プロパティ」ウインドウを表示します。この「プロパティ」ウインドウは標準では非表示の状態ですので手動で表示させる必要があります。

「プロパティ」ウインドウは「表示」メニューの「プロパティウインドウ」をクリックすると表示されます。

Wikipediaで補足:プロパティ

プロパティの切り替え

次の図のようにCommandBottun、Label、TextBoxをユーザーフォームに配置します。

CommandBottun、Label、TextBoxの中で任意に一つ選択するとプロパティウインドウに選択されたコントロールのプロパティが表示されます。

また、CommandBottun、Label、TextBox以外の部分を選択するとユーザーフォームのプロパティが表示されます。

それ以外の方法としては「プロパティ」ウインドウにあるコンボボックスからもプロパティを切り替える事が可能です。

プロパティの使い方

プロパティの使い方としてはプロパティの右側にある項目を変更するだけです。また、プロパティを変更しても設計時には変化しないプロパティもあります。その場合は確認する為に実行をする必要があります。

実行の仕方は「ユーザーフォームの設計画面」または「コード」をアクティブにしてから実行をします。

[ユーザーフォームの設計画面]

[コード]

それ以外で実行をするとVBAの場合は「マクロの実行」になってしまいますので注意して下さいね。

プロパティはコードでも設定可能です。初めのうちは「プロパティ」ウインドウで設定すると良いのですが、慣れてきたらコードでプロパティを設定するの推奨します。

プロパティのヘルプを表示する

使い方がわからないプロパティの項目を選択後に「F1」キーを押すとマイクロソフトのヘルプページが開きます。

次は「Accelerator」の項目で「F1キー」を押した例です。

マイクロソフトのヘルプページの応答速度はちょっと遅いです:-)

各コントロールの共通プロパティ

各コントロールの共通プロパティの解説です。共通といってもここで紹介する全てのプロパティが各コントロールにあるわけではなく、コントロールによってはプロパティが存在しない場合があります。

(オブジェクト名)

オブジェクト名の項目はオブジェクト(コントロール)名を変更する事が出来ます。業務などですと目的にあった名称に変更します。ただ、慣れていない方や目的によっては必ずしも変更する必要はありません。

Caption/Text

Captionはフォームやコマンドボタン、ラベルなどの表示文字を変更します。テキストボックスの場合はCaptionプロパティがないですのでTextプロパティで変更します。

[コード例]

Private Sub CommandButton1_Click()
  CommandButton1.Caption = "プチモンテ"
  TextBox1.Text = "プチモンテ"
End Sub

[結果]

Height/Width/Top/Left

Height/Widthはコントロールの「高さ、横幅」です。Top/Leftはコントロールの「表示位置(画面の上幅)、表示位置(画面の左幅)」です。

これらのプロパティは設計時にマウスでも変更可能です。

Visible

Visibleはコントロールの表示/非表示の切り替えです。Falseにするとコントロールが非表示になります。

[コード例]

Private Sub CommandButton1_Click()
  CommandButton1.Visible = False
End Sub

[結果]

Enabled

Enabledはコントロールの使用可能状態(オン/オフ)の切り替えです。オフ(False)にするとコントロールが使用できなくなります。

[コード例]

Private Sub CommandButton1_Click()
  CommandButton1.Enabled = False
End Sub

[結果]

Font

Fontはコントロールのフォントを設定します。

[コード例]

Private Sub CommandButton1_Click()

  ' 太字にする
  CommandButton1.Font.Bold = True
  ' 斜体にする
  CommandButton1.Font.Italic = True
  ' フォントサイズを15にする
  CommandButton1.Font.Size = 15
  ' 下線を引く
  CommandButton1.Font.Underline = True
  
End Sub

[結果]

ForeColor

ForeColorはコントロールの文字色を設定します。

[コード例]

Private Sub CommandButton1_Click()

  ' 表示色を赤色にする
  CommandButton1.ForeColor = vbRed

End Sub

[結果]

※vbRedはカラー定数です。カラー定数は次の表を参考にして下さい。

定数
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagentaマゼンタ
vbCyanシアン
vbWhite

また、RGB関数でRGBカラー(16,777,216色)を使用する事も可能です。

Wikipediaで補足:RGBカラー

BackColor

BackColorはコントロールの背景色を設定します。

[コード例]

Private Sub CommandButton1_Click()

  ' 背景を赤色にする
  CommandButton1.BackColor = vbRed

End Sub

[結果]

BackStyle

BackStyleはコントロールの背景のスタイルを設定します。

[コード例]

Private Sub CommandButton1_Click()

  ' 背景を透明にする
  TextBox1.BackStyle = fmBackStyleTransparent

End Sub

[結果]

BorderColor/BorderStyle

BorderColorはコントロールの枠線の色を設定します。また、BorderStyleはコントロールの枠線のスタイルを設定します。

[コード例]

Private Sub CommandButton1_Click()

  ' 枠線のスタイルをfmBorderStyleSingleにする
  Label1.BorderStyle = fmBorderStyleSingle
  
  ' 枠線の色を青色にする
  Label1.BorderColor = vbBlue
  
End Sub

[結果]

ControlTipText

ControlTipTextはコントロールのヒントを設定します。ヒントとは対象のコントロールの上でマウスを停止すると表示されるテキストの事です。

[コード例]

Private Sub CommandButton1_Click()
  
  ' コントロールチップの設定
  CommandButton1.ControlTipText = "プチモンテ"
  
End Sub

[結果]

AutoSize

AutoSizeはコントロールのサイズを自動的に文字列に合わせます。

[コード例]

Private Sub CommandButton1_Click()
  
  ' 自動サイズ設定
  CommandButton1.AutoSize = True
  
End Sub

[結果]

Picture

Pictureはコントロールに画像を貼り付けます。

[コード例]

Private Sub CommandButton1_Click()
  
  ' 画像ファイルを読み込む
  CommandButton1.Picture = LoadPicture("C:\test.gif")
    
End Sub

※純粋に画像を読み込む場合はイメージコントロールを使用すると良いです。

Accelerator

Acceleratorはコントロールのショートカットキーを設定します。英数字1文字を設定可能です。実行時にはAlt+設定したキーで実行できます。

[コード例]

Private Sub CommandButton1_Click()
  
  If (CommandButton1.Accelerator = "") Then
    ' ショートカットキーの設定 (Altキー + aキー)
    CommandButton1.Accelerator = "a"
  Else
    MsgBox "ボタンが押されました。"
  End If
    
End Sub

※一度、コマンドボタンを押した後に「Alt+a」キーを押してください。

TabIndex

TabIndexは実行時にタブキーを押した時のフォーカスの順番(0,1,2...)です。フォーカスとはコントロールがアクティブになる事です。

Tag

Tagは任意の文字列を格納できます。

[コード例]

Private Sub CommandButton1_Click()
  
  ' タグに文字列を設定
  CommandButton1.Tag = "プチモンテ"
  
  ' コマンドボタンのキャプションの変更
  CommandButton1.Caption = CommandButton1.Tag
    
End Sub

ControlSource/RowSource

ControlSource/RowSourceはエクセルのシートからデータを取り込む際に使用します。

[コード例]

Private Sub CommandButton1_Click()
  
  ' リストボックスにシートのデータを設定する
  ListBox1.RowSource = "Sheet1!A1:A3"
  
  ' テキストボックスにシートのデータを設定する
  TextBox1.ControlSource = "Sheet1!B1"
    
End Sub

[シート]

[結果]

Visual Basicのコントロール

共通操作
 プロパティの使い方 イベントの使い方

ラベル
テキストボックス
コンボボックス
リストボックス
チェックボックス
オプションボタン
トグルボタン
フレーム
コマンドボタン
タブストリップ
マルチページ
スクロールバー
スピンボタン
イメージ
ユーザーフォーム

エクセル講座のクイックリンク

ホーム 新機能 基本(初級) 基本(中級) 基本(上級) 関数 マクロ VBA TIPS





掲示板

ソフトウェア、ハードウェアのプログラミング用の掲示板を作成しました。質問やわからない事は@掲示板でユーザー同士で情報を共有して下さい。

関連記事



公開日:2015年06月26日 最終更新日:2015年07月06日
記事NO:01073