Excel VBA質問箱 IV

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

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


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

【4732】ファイル名を選択してコピー soc 03/4/3(木) 23:17 質問
【4740】Re:ファイル名を選択してコピー ntomo 03/4/4(金) 9:38 発言
【4741】( ̄□ ̄!! ntomo 03/4/4(金) 9:41 発言
【4744】Re:ファイル名を選択してコピー ポンタ 03/4/4(金) 10:14 回答
【4746】Re:ファイル名を選択してコピー soc 03/4/4(金) 10:25 お礼
【4748】Re:ファイル名を選択してコピー Jaka 03/4/4(金) 11:06 回答

【4732】ファイル名を選択してコピー
質問  soc  - 03/4/3(木) 23:17 -

引用なし
パスワード
   状況
book1→open
book2→参照先

入力規則のリストのような感じでbook1上でマイドキュメント中のエクセルのファイル名を指定(ex.book2)して、そのファイルのsheet1-A1、sheet2-A2のデータをそれぞれbook1のsheet1-C1、sheet3-A1にコピーする方法はあるのでしょうか?

sheet上でできるのでしょうか?それともフォームを作らなければならないのでしょうか?(私的には、sheet上の方が望ましいのですが…)

【4740】Re:ファイル名を選択してコピー
発言  ntomo  - 03/4/4(金) 9:38 -

引用なし
パスワード
   過去ログ
【3286】使えば多分いけるかと・・・

選択したファイルを順番に開いていくので、
開くたびにこぴって移動させて
ループなどさせてみては。。。。
あんまり上手くない方法かもですけど。。。

【4741】( ̄□ ̄!!
発言  ntomo  - 03/4/4(金) 9:41 -

引用なし
パスワード
   挨拶いれてなかった。。。
おはようございます。。。
過去ログのリンクの貼り方失敗してますね・・・

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=3286;id=excel

です。
ふぅ。。。。

【4744】Re:ファイル名を選択してコピー
回答  ポンタ  - 03/4/4(金) 10:14 -

引用なし
パスワード
   標準モジュールに貼り付けてお試しください。

Sub test()
  Dim Wb As Workbook
  Dim MyFullName As String, MyPath As String, MyFileName As String
  Dim objFs As Object
  Set objFs = CreateObject("Scripting.FileSystemObject")
  ChDir CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
  MyFullName = Application.GetOpenFilename
  If MyFullName = "False" Then Exit Sub
  MyPath = objFs.GetParentFolderName(MyFullName)
  MyFileName = objFs.GetFilename(MyFullName)
  With Worksheets("sheet1").Range("C1")
    .Formula = "='" & MyPath & "\[" & MyFileName & "]Sheet1'!A1"
    .Value = .Value
  End With
  With Worksheets("sheet3").Range("A1")
    .Formula = "='" & MyPath & "\[" & MyFileName & "]Sheet2'!A2"
    .Value = .Value
  End With
End Sub

【4746】Re:ファイル名を選択してコピー
お礼  soc  - 03/4/4(金) 10:25 -

引用なし
パスワード
   ntomoさん、ポンタさん、ありがとうございました。

まだ、試してないですけど、取り急ぎお礼を申し上げます。

【4748】Re:ファイル名を選択してコピー
回答  Jaka  - 03/4/4(金) 11:06 -

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

入力規制ではありませんが..。
ここを参考にして、B1列にファイル名を表示させたら、シートモジュールに書きコードを貼りつけてファイル名が表示されたセルをWクリックすればファイルが開きます。
コピーのコードは、入れてません。

http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cgi?print+200210/02100264.txt

それと、
=IF(COUNTA(FILE)<ROW(A1),"--",INDEX(FILE,1,ROW(A1))) の "--"を""にしといてください。

Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
 If Target.Column = 2 And Target.Count = 1 And Target.Value <> "" Then
   OpenFold = Left(Range("A1").Value, InStr(1, Range("A1").Value, "*") - 1)
   Workbooks.Open (OpenFold & Target.Value)
   Cancel = True
 End If
End Sub

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