| 
    
     |  | 皆さんこんにちは。 
 なんか止めを刺したようで、目覚めが悪いのでサンプルを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でも準拠しといた方が間違いないです。
 
 
 |  |