Excel VBA質問箱 IV

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

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


74831 / 76732 ←次へ | 前へ→

【6357】Re:1つのリストボックスに2行のデータを入...
回答  ichinose  - 03/6/25(水) 19:44 -

引用なし
パスワード
   ▼さる さん:
こんばんは。

>お久しぶりにお世話になります。
>
>UserFormにListBoxが1つだけあります。
>Sheeet1のボタンをクリックすると、UserFormが表示され、
>ListBoxにSheet2のA列とC列のデータを表示したいのですが、
>うまくいきません。
>
>Sheet1のボタンをクリックしたときのコードはこんな感じです。
>1列分のデータならうまくいったのですが・・・。

列が連続していると簡単なのですが・・・。
方法はいくつかあると思いますが、
作業列を設置したらどうでしょうか?
例では、D列を作業列としました(作業列はどこでもいいです)。

Sub 摘要参照()
  Dim maxlen As Long
  Application.ScreenUpdating = False
 
  行 = ActiveCell.Row: 列 = ActiveCell.Column
  If 行 > 2 And 列 = 3 Then
    Sheets("摘要・科目").Select
    レコード数 = Range("A1").CurrentRegion.Rows.Count
    With UserForm1.ListBox1
     .MultiSelect = fmMultiSelectSingle
     .Font.Name = "MS ゴシック"
'            全角:半角が2:1になるようなフォント選択
     maxlen = Application.Evaluate("max(lenb(" & Range(Cells(2, 1), _
         Cells(レコード数, 1)).Address & "))") + 5
'     ↑(A列の文字列の長さの最大)+5を取得
     Range(Cells(2, 4), Cells(レコード数, 4)).Formula = _
         "=a2&rept("" ""," & maxlen & "-lenb(a2))&c2"
'     ↑作業列のD列に連結数式を入れる
     .List = Range(Cells(2, 4), Cells(レコード数, 4)).Value
'     ↑リストボックスにセット
     Range(Cells(2, 4), Cells(レコード数, 4)).Value = ""
'     ↑作業列の初期化
     End With
    Sheets("出納帳").Select
    UserForm1.Show
    End If
 
  Application.ScreenUpdating = True
 
End Sub

0 hits

【6346】1つのリストボックスに2行のデータを入... さる 03/6/25(水) 15:34 質問
【6357】Re:1つのリストボックスに2行のデータを入... ichinose 03/6/25(水) 19:44 回答
【6363】Re:1つのリストボックスに2行のデータを入... さる 03/6/26(木) 12:02 質問
【6364】Re:1つのリストボックスに2行のデータを入... Jaka 03/6/26(木) 12:34 回答
【6365】Re:1つのリストボックスに2行のデータを入... さる 03/6/26(木) 12:41 お礼
【6366】しまった。 Jaka 03/6/26(木) 12:48 回答
【6367】Re:しまった。 ichinose 03/6/26(木) 13:27 回答
【6368】しまった2。 Jaka 03/6/26(木) 13:42 発言

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