|
皆さんこんにちは。
なんか止めを刺したようで、目覚めが悪いのでサンプルを1つ
新規UserForm
TextBox 8個 とScrollBar 1個を配置
TextBox は以下のように配置してください。
TextBox1 TextBox5
TextBox2 TextBox6
TextBox3 TextBox7
TextBox4 TextBox8
ScrollBar は矢印の右側。
以下をUserFormモジュールにコピペ
Option Explicit
Private Type Rec
f1 As Long
f2 As Long
End Type
Private mRec(1 To 10) As Rec
Private Sub ScrollBar1_Change()
Call ShowData(ScrollBar1.Value)
End Sub
Private Sub UserForm_Initialize()
Dim i As Long
'データ作成
For i = 1 To 10
mRec(i).f1 = i
mRec(i).f2 = i * 10
Next i
'スクロールバー設定
With Me.ScrollBar1
.Min = 1
.Max = 10
.SmallChange = 1
End With
End Sub
'表示
Private Sub ShowData(pIndex As Long)
If pIndex > 0 Then
If pIndex < 8 Then
TextBox1.Text = mRec(pIndex).f1
TextBox2.Text = mRec(pIndex + 1).f1
TextBox3.Text = mRec(pIndex + 2).f1
TextBox4.Text = mRec(pIndex + 3).f1
TextBox5.Text = mRec(pIndex).f2
TextBox6.Text = mRec(pIndex + 1).f2
TextBox7.Text = mRec(pIndex + 2).f2
TextBox8.Text = mRec(pIndex + 3).f2
End If
End If
End Sub
実行してみて下さい。
力技ですが、こんな方法もあるという例です。
ちなみに、コントロールを数百個も使うのは止めた方が無難です。
動作が不安定になるらしいです。
ちなみにVBでは1windowで許されるのは255個?の制限があります。
Excelでも準拠しといた方が間違いないです。
|
|