表示データにシートのセルを指定する
広告
タブを切り替えた時にコントロールに表示される値にExcelのシートに入力された値を表示する方法を確認します。
タブに配置されているコントロールの値をシートのセルで指定するには「ControlSource」プロパティを使います。
object.ControlSource [= String]
Value プロパティにリンクさせる Excel ワークシートのセル範囲を指定します。 引数: object 設定するオブジェクトを指定します。 String コントロールの Value プロパティにリンクさせるワークシートの セルを指定します。
このプロパティはタブストリップ上に配置されているコントロールに対して設定します。例としてテキストボックスが配置されている時は次のように記述します。
Private Sub monthTab_Change() Dim index As Integer index = monthTab.Value If index = 0 Then salesText.ControlSource = "ListSheet!C2" ElseIf index = 1 Then salesText.ControlSource = "ListSheet!C3" ElseIf index = 2 Then salesText.ControlSource = "ListSheet!C4" End If End Sub
サンプルプログラム
では簡単なサンプルで試してみましょう。タブストリップのChangeイベントに次のように記述します。
Private Sub monthTab_Change() Dim index As Integer index = monthTab.Value + 2 salesText.ControlSource = "ListSheet!C" & index End Sub
また呼びだすマクロは次の通りです。
Sub テスト() Load sampleForm sampleForm.monthTab.Tabs(0).Caption = "1月" sampleForm.monthTab.Tabs(1).Caption = "2月" sampleForm.monthTab.Tabs(2).Caption = "3月" sampleForm.Show End Sub
Excelシートを次のように用意しておきます。
上記マクロを実行すると次のように表示されます。
タブを切り替えるとその時表示されたタブに対応するシートのセルの値がコントロールに表示されます。
またコントロールの値を書き換えると元になっているExcelシートのセルの値も書き換えられます。
( Written by Tatsuo Ikura )