Excel VBA質問箱 IV

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

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


56353 / 76732 ←次へ | 前へ→

【25134】Re:他エクセルファイル(同一フォルダ)のデータリストをリストボックスに表示
回答  だるま WEB  - 05/5/20(金) 21:36 -

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

UserFormを使用した例です。
UserFormに、ListBox1, cmdOK, cmdキャンセル を配置します。
ListBox1のListCountプロパティを3にします。

以下のコードをフォームモジュールに貼り付けます。

UserFormを表示し(表示方法は任意)、
cmdOKのクリックでアクティブセルから右に、選択した値が入力されます。^d^

Option Explicit

Private DataBook As Workbook
Private flgOpened As Boolean
Private rngDest As Range

Private Sub cmdOK_Click()
  Dim i As Integer
  With Me.ListBox1
    If .ListIndex = -1 Then Exit Sub
    For i = 0 To 2
      rngDest.Offset(, i).Value = .List(.ListIndex, i)
    Next
  End With
  Unload Me
End Sub

Private Sub cmdキャンセル_Click()
  Unload Me
End Sub

Private Sub UserForm_Initialize()
  Dim DataPath As String
  
  DataPath = "A.xls"
  Set rngDest = ActiveCell
  
  On Error Resume Next
  Set DataBook = Workbooks(DataPath)
  On Error GoTo 0
  
  If DataBook Is Nothing Then
    flgOpened = False
    DataPath = ThisWorkbook.Path & "\" & DataPath
    Set DataBook = Workbooks.Open(DataPath)
  Else
    flgOpened = True
  End If
  
  Me.ListBox1.RowSource = _
    DataBook.Worksheets("Sheet2").Range("A1:C100") _
    .Address(1, 1, xlA1, 1)
    
End Sub

Private Sub UserForm_Terminate()
  If flgOpened = False Then
    DataBook.Close False
  End If
End Sub

0 hits

【25094】他エクセルファイル(同一フォルダ)のデータリストをリストボックスに表示... 野菜畑 05/5/20(金) 9:34 質問
【25134】Re:他エクセルファイル(同一フォルダ)の... だるま 05/5/20(金) 21:36 回答
【25135】Re:他エクセルファイル(同一フォルダ)の... だるま 05/5/20(金) 21:39 回答
【25231】Re:他エクセルファイル(同一フォルダ)の... 野菜畑 05/5/24(火) 22:28 質問

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