表示データにシートのセルを指定する
広告
タブを切り替えた時にコントロールに表示される値に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 )
OfficePro