Excel VBA質問箱 IV

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

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


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

【33533】ダイアログボックスから選択ファイルが選べません.. >< 06/1/14(土) 16:50 質問[未読]
【33534】Re:ダイアログボックスから選択ファイルが... かみちゃん 06/1/14(土) 16:56 発言[未読]
【33535】Re:ダイアログボックスから選択ファイルが... >< 06/1/14(土) 17:22 質問[未読]
【33536】Re:ダイアログボックスから選択ファイルが... かみちゃん 06/1/14(土) 17:26 発言[未読]
【33541】Re:ダイアログボックスから選択ファイルが... >< 06/1/14(土) 18:59 質問[未読]
【33548】Re:ダイアログボックスから選択ファイルが... かみちゃん 06/1/14(土) 21:14 回答[未読]
【33550】Re:ダイアログボックスから選択ファイルが... >< 06/1/14(土) 21:52 お礼[未読]

【33533】ダイアログボックスから選択ファイルが選...
質問  ><  - 06/1/14(土) 16:50 -

引用なし
パスワード
   お世話になります。

下記のように記入したのですが、うまく動作しません。
ご教授のほどよろしくお願いいたします。

Sub ファイル選択()

  Dim Fname
  Dim intff
Fname = Application.GetOpenFilename(filefilter:="xls ファイル(*.xls),*.xls")
intff = Fname
Do Until EOF(intff)
intff = intff + 1
Cells(i, 1).Resize(1, 12001) = Fname
Loop
Close #intff

End Sub

【33534】Re:ダイアログボックスから選択ファイル...
発言  かみちゃん  - 06/1/14(土) 16:56 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>下記のように記入したのですが、うまく動作しません。

何がしたいのか説明していただけませんか?
とりあえず、以下のようにすると、ファイル自体は選択できていることが確認できると思います。

Fname = Application.GetOpenFilename(filefilter:="xls ファイル(*.xls),*.xls")
MsgBox Fname

ファイル名の一覧を出したいのでしょうか?

Cells(i, 1).Resize(1, 12001) = Fname
というコードも誤っていると思います。
12001列など・・・

【33535】Re:ダイアログボックスから選択ファイル...
質問  ><  - 06/1/14(土) 17:22 -

引用なし
パスワード
   お返事ありがとうございます。
今やろうとしていることは、
ダイログボックスからファイル選択⇒シートに読み込ませたいのです。
最終的もは各項目をグラフ化させたいのです。←別マクロで行う予定です。
>Cells(i, 1).Resize(1, 12001) = Fname
>というコードも誤っていると思います。
>12001列など・・・

すいません。そこは勘違いしておりました。

また、同一ブック内にてファイルを二つ読み込ませたいのですが(それぞれ別シートに)何か良い方法はあれば教えていただけませんか?

【33536】Re:ダイアログボックスから選択ファイル...
発言  かみちゃん  - 06/1/14(土) 17:26 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>ダイログボックスからファイル選択⇒シートに読み込ませたいのです。
>最終的もは各項目をグラフ化させたいのです。←別マクロで行う予定です。
>また、同一ブック内にてファイルを二つ読み込ませたいのですが(それぞれ別シートに)何か良い方法はあれば教えていただけませんか?

ある程度のことは、「マクロの記録」でできます。
まずは、したい操作を「マクロの記録」で記録してみましょう。
それでわからなければ、そのコードを提示して質問してみてください。

【33541】Re:ダイアログボックスから選択ファイル...
質問  ><  - 06/1/14(土) 18:59 -

引用なし
パスワード
   先ほど、マクロをしようして、外部からのデータ取り込みで

With ActiveSheet.QueryTables.Add(Connection:="TEXT;E:\date\yama.csv", _
    Destination:=Range("A1"))
    .Name = "yama"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 932
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
  End With
End Sub

↑のようなマクロが記録されました。
これは、選択したファイル名のみ読み込みするんですが、
一覧から自在にファイル選択して読みこませるためには、どうしたらいいでしょうか?

【33548】Re:ダイアログボックスから選択ファイル...
回答  かみちゃん  - 06/1/14(土) 21:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>一覧から自在にファイル選択して読みこませるためには、どうしたらいいでしょうか?

一覧から自在にというのは、「ファイルを開く」ダイアログで選択したファイル名
を指定してということでいいでしょうか?
最初にご提示されたコードがExcelファイルに限定しているようなので、どのよう
にしたいのか今ひとつよくわかりませんが、
Sub ファイル選択()
 Dim Fname As String

 Fname = Application.GetOpenFilename(filefilter:="CSV ファイル(*.csv),*.csv")
 With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Fname, _
 '〜省略〜
とすれば、いいのではないでしょうか?

【33550】Re:ダイアログボックスから選択ファイル...
お礼  ><  - 06/1/14(土) 21:52 -

引用なし
パスワード
   早速試したところ、できました!
ご指導ありがとうございました!

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