Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21789 / 76738 ←次へ | 前へ→

【60338】Re:スクロールについて質問
発言  neptune  - 09/2/10(火) 21:45 -

引用なし
パスワード
   皆さんこんにちは。

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

0 hits

【60320】スクロールについて質問 もものき 09/2/9(月) 18:55 質問
【60321】Re:スクロールについて質問 ichinose 09/2/9(月) 19:37 発言
【60323】Re:スクロールについて質問 もものき 09/2/10(火) 9:06 発言
【60325】Re:スクロールについて質問 SS 09/2/10(火) 10:20 発言
【60328】Re:スクロールについて質問 neptune 09/2/10(火) 11:06 発言
【60335】Re:スクロールについて質問 SS 09/2/10(火) 19:06 発言
【60333】Re:スクロールについて質問 もものき 09/2/10(火) 15:49 発言
【60334】Re:スクロールについて質問 SS 09/2/10(火) 18:48 発言
【60338】Re:スクロールについて質問 neptune 09/2/10(火) 21:45 発言

21789 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free