• ベストアンサー

EXCEL表示について

質問がとんちんかんになってすみません。 テキストファイルを自動で読み込んでEXCELのセルに表示したいのです。 例 123.txtの中身 A10,あいうえお G6,かきくけこ M30,さしすせそ ・ ・ ・ テキストの中のA10・G6・M30がセルに位置、その位置に「あいうえお」とか 「かきくけこ」・・・・・と表示したいのです。 お忙しいとは思いますがどうか宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • shino719
  • ベストアンサー率50% (11/22)
回答No.2

テキストファイルから読み込むコードを書いてみました。 #1さんのコードからどう変わったのか分かるように #1さんのコードを流用させていただいています。 ちなみに当方エクセル2000です。 Sheet1シートが存在するエクセルに貼り付けるものとします。 テキストファイルは「C:\sample.txt」だとします。 ※見やすいようにインデントを入れていますが、全角スペース  なので注意してください。 Sub Auto_Open()   Dim ws As Worksheet   Dim intFF As Integer   Dim buf As String   Dim myArray() As String   Dim str As String   Set ws = Worksheets("Sheet1")   intFF = FreeFile   Open "C:\sample.txt" For Input As #intFF     Do Until EOF(intFF)       Line Input #intFF, buf       myArray = Split(buf, ",")       str = myArray(0)       ws.Range(str) = myArray(1)     Loop   Close #intFF End Sub >#1様 すみません、コード流用させていただきましたm(_ _)m

mayumi-235
質問者

お礼

Set ws = Worksheets("Sheet1")        シートセット intFF = FreeFile Open "C:\sample.txt" For Input As #intFF  ファイル名代入オープン Do Until EOF(intFF)             改行まで Line Input #intFF, buf             読み込む myArray = Split(buf, ",")           貼り付け str = myArray(0)               空にする ws.Range(str) = myArray(1)         ? Loop Close #intFF ほんとに有り難う御座います。私には理解に苦しむ所ですが 助かりました。 もっと勉強します

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です! No.2さんへ! >#1様 すみません、コード流用させていただきました はまったく気にしないでください。! さて、本題ですが・・・ >テキストファイルを自動で読み込んで・・・ とありますが、確かにウェブ上でも読み込む(インポートする)コードは色々紹介されていますが、 一番簡単なのはExcelからその「テキストファイル」を開く方法ではないでしょうか? (1)Excelを立ち上げる (2)メニュー → 「開く」 → 「ファイルの種類」で「テキストファイル」を選択し、ファイルを開く (3)「テキストファイルウィザード」画面が出ると思いますが、そのまま「完了」を選択すると カンマ込のデータが1列に表示されるはずです。 (元データの改行が1データずつ行われていない場合は、続けて表示されてしまいます) ※ ウィザードの 2/3 で「区切り文字」の「カンマ」を選択するとカンマで区切られて別列に表示されます。 この場合は今回のコードでは対応できません。 ※ Excelにインポートした状態がどのようになっているか?によってコードが変わってきますので、 今回はこの程度でごめんなさいね。m(_ _)m

mayumi-235
質問者

お礼

色々すみません、有り難う御座います。 もっと勉強してがんばります。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 今回は1列だけにデータがあり、カンマ以前がSheet2のセル番地・カンマ以降が表示させたいデータ! というコトだとして・・・ やはりVBAになってしまいますが、一例です。 データはA列の1行目(A1セル)からあるとします。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long, str As String, ws As Worksheet, myArray Set ws = Worksheets("Sheet2") On Error Resume Next For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If InStr(Cells(i, 1), ",") Then myArray = Split(Cells(i, 1), ",") str = myArray(0) ws.Range(str) = myArray(1) End If Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

mayumi-235
質問者

お礼

有り難う御座います。 今回はテキストファイルを読み込んで です、すみません。

関連するQ&A