Excel VBA質問箱 IV

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

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


10090 / 13644 ツリー ←次へ | 前へ→

【23747】リストボックスのアドレス 早乙女 05/4/3(日) 10:36 質問[未読]
【23751】Re:リストボックスのアドレス ichinose 05/4/3(日) 11:37 発言[未読]
【23752】Re:リストボックスのアドレス 早乙女 05/4/3(日) 11:58 お礼[未読]

【23747】リストボックスのアドレス
質問  早乙女  - 05/4/3(日) 10:36 -

引用なし
パスワード
   ご教授おねがいします。

見よう見まねでリストボックスを作りました
結果4列ちゃんと表示される物が出来上がったのですが
そこから先がわかりません

(1) リストボックスに単価表のセルの値を表示させる ○
(2) 表示されたセル行を選択するとそのセルがアクティブになる ×
この(2)がわからないんです
UserForm_Initializeに何と記述すればアドレスが認識されるのでしょうか(-_-;)
そしてListBox1_Change()に何と記述すれば↑と連動できるのでしょうか(-_-;)
よろしくお願いいたします。


Private Sub UserForm_Initialize()
Dim MyArray(600, 4)
Dim i As Integer


   With ListBox1
     .ColumnCount = 89
     .ColumnWidths = "30;30;30;80"
     .BoundColumn = 1
  
  End With
  
  
  With Worksheets("単価表")
   For i = 0 To 600
     MyArray(i, 0) = Cells(i + 2, "a").Value
     MyArray(i, 1) = Cells(i + 2, "b").Value
     MyArray(i, 2) = Cells(i + 2, "c").Value
     MyArray(i, 3) = Cells(i + 2, "ck").Value
     
  Next i
      ListBox1.List() = MyArray

  End With
 
  
End Sub

**************************

Private Sub ListBox1_Change()

  
End Sub
**************************

【23751】Re:リストボックスのアドレス
発言  ichinose  - 05/4/3(日) 11:37 -

引用なし
パスワード
   ▼早乙女 さん:
おはようございます。

>ご教授おねがいします。
>
>見よう見まねでリストボックスを作りました
>結果4列ちゃんと表示される物が出来上がったのですが
>そこから先がわかりません
>
>(1) リストボックスに単価表のセルの値を表示させる ○
>(2) 表示されたセル行を選択するとそのセルがアクティブになる ×
>この(2)がわからないんです
>UserForm_Initializeに何と記述すればアドレスが認識されるのでしょうか(-_-;)
>そしてListBox1_Change()に何と記述すれば↑と連動できるのでしょうか(-_-;)
>よろしくお願いいたします。
>
>
>Private Sub UserForm_Initialize()
Dim MyArray(600, 3)
'でいいですよね?
>Dim i As Integer
>
>
>   With ListBox1
>     .ColumnCount = 89
>     .ColumnWidths = "30;30;30;80"
>     .BoundColumn = 1
>  
>  End With
>  
>  
>  With Worksheets("単価表")
    .activate
    For i = 0 To 600
     MyArray(i, 0) = .Cells(i + 2, "a").Value
     MyArray(i, 1) = .Cells(i + 2, "b").Value
     MyArray(i, 2) = .Cells(i + 2, "c").Value
     MyArray(i, 3) = .Cells(i + 2, "ck").Value
'単価表シートがアクティブになっていない場合も考慮しておいて
>     
>  Next i
>      ListBox1.List() = MyArray
>
>  End With
> 
>  
>End Sub
>
>**************************
>
>Private Sub ListBox1_Change()
  With Worksheets("単価表")
'   .Activate
   .Rows(ListBox1.ListIndex + 2).Activate
   End With
'リストボックスのLisindexで取得できます  
>End Sub
>**************************

【23752】Re:リストボックスのアドレス
お礼  早乙女  - 05/4/3(日) 11:58 -

引用なし
パスワード
   ichinose さん:
早速のごかいとうありがとうございます

>Dim MyArray(600, 3)
>'でいいですよね?
そうですね(^◇^;)


>    .activate
>'単価表シートがアクティブになっていない場合も考慮しておいて
はい、こころがけます


>>Private Sub ListBox1_Change()
>  With Worksheets("単価表")
>   .Activate
>   .Rows(ListBox1.ListIndex + 2).Activate
>   End With
>'リストボックスのLisindexで取得できます  
>>End Sub

出来ました!出来ました!
UserForm_Initializeに何か書くものだとばっかり思っておりました
お恥ずかしいです・・・
これからもイロイロ質問させていただくことがあるとおもいます。
どうか今後ともよろしくお願い申し上げます。

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