Excel VBA質問箱 IV

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

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


7127 / 13646 ツリー ←次へ | 前へ→

【40874】ファイルの表示 RIKE 06/7/25(火) 16:36 質問[未読]
【40878】Re:ファイルの表示 Kein 06/7/25(火) 17:24 回答[未読]
【41015】Re:ファイルの表示 RIKE 06/7/27(木) 17:33 お礼[未読]
【41054】Re:ファイルの表示 RIKE 06/7/28(金) 13:25 質問[未読]
【41058】Re:ファイルの表示 Kein 06/7/28(金) 13:47 回答[未読]
【41059】Re:ファイルの表示 Kein 06/7/28(金) 13:48 発言[未読]
【41069】Re:ファイルの表示 RIKE 06/7/28(金) 14:55 質問[未読]
【41070】Re:ファイルの表示 Kein 06/7/28(金) 15:17 発言[未読]
【41072】Re:ファイルの表示 RIKE 06/7/28(金) 15:32 お礼[未読]

【40874】ファイルの表示
質問  RIKE  - 06/7/25(火) 16:36 -

引用なし
パスワード
   教えてください。

E列のにセルにファイルの場所、名前が入っています。
ユーザーフォームのリストボックスにA列を表示し、
コマンドボタンを押すと選択した行のE列のセルを読み込んで
ファイル表示させることは出来ますか?

【40878】Re:ファイルの表示
回答  Kein  - 06/7/25(火) 17:24 -

引用なし
パスワード
   仮に "Sheet2" に、その表があるとして・・

Private Sub CommandButton1_Click()
  Dim Ind As Integer
  Dim MyF As String
 
  Ind = ListBox1.ListIndex + 1
  If Ind = 0 Then Exit Sub
  MyF = Sheets("Sheet2").Cells(Ind, 5).Value
  If Dir(MyF) = "" Then
   MsgBox "ファイルが見つかりません", 48: Exit Sub
  End If
  Workbooks.Open MyF
  Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
  With Sheets("Sheet2")
   Me.ListBox1.RowSource = .Name & "!" & _
   .Range("A1", .Range("A65536").End(xlUp)).Address
  End With
End Sub

というコードでどうでしょーか ?

【41015】Re:ファイルの表示
お礼  RIKE  - 06/7/27(木) 17:33 -

引用なし
パスワード
   ▼Kein さん:
返事が遅くなりすみません。
回答、ありがとうございました。
少しずつ勉強していきます。

【41054】Re:ファイルの表示
質問  RIKE  - 06/7/28(金) 13:25 -

引用なし
パスワード
   ▼Kein さん:
たびたびすみません。

>Private Sub CommandButton1_Click()
>  Dim Ind As Integer
>  Dim MyF As String
> 
>  Ind = ListBox1.ListIndex + 1
>  If Ind = 0 Then Exit Sub
>  MyF = Sheets("Sheet2").Cells(Ind, 5).Value
>  If Dir(MyF) = "" Then
>   MsgBox "ファイルが見つかりません", 48: Exit Sub
>  End If
>  Workbooks.Open MyF
>  Unload UserForm1
>End Sub
>
>Private Sub UserForm_Initialize()
>  With Sheets("Sheet2")
>   Me.ListBox1.RowSource = .Name & "!" & _
>   .Range("A1", .Range("A65536").End(xlUp)).Address
>  End With
>End Sub
>

ユーザーフォームを使わないでA列をダブルクリックすると
ファイルが表示されるようにするにはどうすればいいでしょうか?

【41058】Re:ファイルの表示
回答  Kein  - 06/7/28(金) 13:47 -

引用なし
パスワード
   Sheet2 のシートモジュールに

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
  Dim MyR As Range
  Dim MyF As String

  Set MyR = Range("A1", Range("A65536").End(xlUp))
  If Intersect(Target, MyR) Is Nothing Then GoTo ELine
  With Target.Offset(, 4)
   If IsEmpty(.Value) Then GoTo ELine
   MyF = .Value
  End With
  Cancel = True
  If Dir(MyF) = "" Then
   MsgBox .Value & vbLf & "のファイルが見つかりません", 48
   GoTo ELine
  Else
   Workbooks.Open MyF
  End If
ELine:
  Set MyR = Nothing
End Sub

というコードを入れて下さい。
*注(E列に入力されたファイル名は、必ずフルパスでないといけません。) 

【41059】Re:ファイルの表示
発言  Kein  - 06/7/28(金) 13:48 -

引用なし
パスワード
   訂正。
>MsgBox .Value & vbLf & "のファイルが見つかりません", 48


MsgBox MyF & vbLf & "のファイルが見つかりません", 48

と、して下さい。ども。

【41069】Re:ファイルの表示
質問  RIKE  - 06/7/28(金) 14:55 -

引用なし
パスワード
   ▼Kein さん:
こんにちは。
ありがとうございます。

A列をダブルクリックしても何も起こりませんでした。

>*注(E列に入力されたファイル名は、必ずフルパスでないといけません。) 
わかり易くフォルダを作って入れてみましたが、だめでした。
(C:\新しいフォルダ\ファイル名)

【41070】Re:ファイルの表示
発言  Kein  - 06/7/28(金) 15:17 -

引用なし
パスワード
   コードの意味は理解してますか ?
Set MyR = Range("A1", Range("A65536").End(xlUp))
は、「A1からA列の最終入力行まで」ということです。
つまりA列の値の無いところをクリックしてもダメなのです。
それから、実際に開こうとするファイルパスは、クリックした行の
「E列」に入力されている必要があります。そうなってますか ?

【41072】Re:ファイルの表示
お礼  RIKE  - 06/7/28(金) 15:32 -

引用なし
パスワード
   ▼Kein さん:
すみません。出来ました。
値のないところのセルをクリックしていました。
ありがとうございます。

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