- ベストアンサー
ExcelのVBA
Aというフォルダ内にあるEXCELファイルにてC列を参照(C列にはAフォルダ内にあるテキストファイルのファイル名が記載されている)し、 D列にC列に記載されているテキストファイルの内容(15文字程度)をVBAで出力したいと思っています。 Googleで色々と調べてみたのですが、同じような内容が発見できなかったので、質問致しました。 非常に困っていますので、どなたか教えていただけませんでしょうか? よろしくお願いします。
- charmyrink
- お礼率50% (1/2)
- オフィス系ソフト
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ブックとテキストファイルは同じフォルダに保存してあるという前提で。 sub macro1() dim buf as string dim h as range on error resume next for each h in range("C1:C" & range("C65536").end(xlup).row) open thisworkbook.path & "\" & h for input as #1 line input #1, buf h.offset(0, 1) = buf close #1 next end sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
>Aというフォルダ内にあるEXCELファイル これは、1つのファイルだけの話か。フォルダ内のすべてのエクセルファイルについてか。 それならこのエクセルブックを、ファイルー開くのダイアロウグの画面で見つけ、右クリックし「プロパティ」で「全般」を見るとフルパスが判るから、メモする。 このパスとブック名でブックを開く。そしてシート(シート名を質問には書け)のC列(の何行目かを質問に書け)の値を得れば良い。例 Worksheets(”Sheet1”).range(”C1") ブック名は前に指定するかWith End Withで限定(指定)する。 >D列にC列に記載されているテキストファイルの内容 エクセルシートのことを言っていながら、テキストファイルとは支離滅裂で意味不明。 >Googleで色々と調べてみたのですが、同じような内容が発見できなかったので ソン安はず内。余りに基礎的なので書いてないかも。 それなら、「VBA エクセル ファイルを開く」などで照会したら ーーー そもそも、どういうパターンのコードにになるかは、マクロの記録で判るのではないか。そんなこともせずに、質問しているのではないか。 初心者なら、まずマクロの記録が使えないか常にねんとうにおくべき。 ーー フォルダのエクセルファイルを順次とらえたいなら「VBA フォルダ エクセルファイル 読む」などでGoogle照会すること。 よくでる質問だ。
関連するQ&A
- エクセルVBA テキストに出力、名前を付けて保存
エクセルVBA テキストに出力、名前を付けて保存 A B C D 1 aa bb cc =A1&B1&C1 2 dd ee ff =A2&B2&C2 3 gg hh ii =A3&B3&C3 上記エクセルのD列の内容(セルA1~C3が連続したもの)を1行毎にテキストに出力し、 B列の内容をファイル名にしてテキストファイルを多量に自動生成したいのです。 上記エクセルのように3行なら下記の3つのファイルが生成されるといったVBAがほしいのです。 ファイル名がbb.txtで、テキストの内容はaabbcc。 ファイル名がee.txtで、テキストの内容はddeeff。 ファイル名がhh.txtで、テキストの内容はgghhii。 実際は数千行あるので、数千ファイルを一気に生成させたいのです。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VBAでエクセルからのファイル名とテキスト化を自動で実行する方法
マクロを実行して、エクセルのセルからファイル名とテキストファイルを自動で出力したいのですが、VBA初心者なのでプログラムの書き方がわかりません。 どうかVBAのプログラムの書き方を教えて下さい。 【マクロ実行前のエクセル状態】 1.エクセルのA列にファイル名1を入力 2.エクセルのB列にファイル名2を入力 3.エクセルのC列にテキスト出力させたい文字列を入力 【期待のマクロ動作】 ファイル名1+ファイル名2のファイル名でC列の文字列をテキストファイルで出力。 《例》 A B C 1 2 あ ⇒マクロ実行⇒ファイル名『12』テキスト内容『あ』 3 4 い ⇒マクロ実行⇒ファイル名『34』テキスト内容『い』 5 6 う ⇒マクロ実行⇒ファイル名『56』テキスト内容『う』 7 8 え ⇒マクロ実行⇒ファイル名『78』テキスト内容『え』 ・ ・ ・ ・ 上記の様に、一回のマクロ実行で入力されている列のセル全て がファイル名付きのテキストファイルとして出力をさせたいです。 申し訳ありませんが、よろしくお願いいたします。
- 締切済み
- Visual Basic
- VBAにて
初めまして、宜しくお願いします。 エクセルのVBAの処理を最近やり始めたのですが、私には ハードルが高くて、よく解りません。。。 出来るのかも解らないのですが、それもふまえて教えて いただけると助かります。 A列:名称 B列:概要 C列:ファイル名 D列:フォルダ構成 のエクセルファイルがあります。 各列ともに、何行にも渡りデータが格納されております。 これを読み込んで、ローカルにある指定のエクセルファイル(シート) をD列にある、C列のファイルに全てコピーしていきたいのです。 そのかたわらで1行ずつの処理結果を、ログに出力していくような 感じにしたいのですけど出来ますか?? 教えて下さい。 あと、もし可能であればフォルダがネットワーク上にあっても 可能なのか知りたいです。 宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- エクセルVBAでテキストを出力したい
エクセルVBAでテキストを出力したいのですが、 やり方がわからないので教えてください。 仮にSheet2のA列に文章があるとして、 シート全体を1つのテキストファイルとして出力し、 ファイル名をSheet1のA1セルにしたいです。 同じような質問もあるのですが、ファイル名に関しては、 ちょっと見当たらなかったので質問しています。
- ベストアンサー
- オフィス系ソフト
- Excel VBAで列ごとのデータをテキストファイルへ書くには?
エクセルのシート(たとえばSheet1)が以下のようになっているとします。 A B C D E F 1 商品A 11111111 あいうえお 3 1000 2 商品B 22222222 かくくけこ 1 2500 3 商品C 33333333 さしすせそ 2 3500 ・ ・ これを決まった列ごとにテキストファイル(固定ファイル名)に書き出すということは、エクセルのVBAで可能でしょうか? テキストファイルの内容は以下のようにしたいのです。 E列を数量として、その分だけのテキスト行を書き出したいのですが… <<bbb.txt>> 商品A 商品A 商品A 商品B 商品C 商品C ・ ・ <<ccc.txt>> 11111111 11111111 11111111 22222222 33333333 33333333 ・ ・ <<fff.txt>> 1000 1000 1000 2500 3500 3500 ・ ・ また、このようなことが参考になるHPがあればお教え願いたいのですが。 以上よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- (VBA)フォルダの中の複数のテキストファイルをエクセルに取り込みたい
フォルダの中に複数のテキストファイルがあります。 それをVBAで1シートに1テキストファイルづつで取り込んで(区切り文字(#)、列のデータ形式(文字列)を指定して)作成済みのマクロを実行し、出力させたいのですが。。 データが大きいので5シートで1つのファイルにしたいです。フォルダの中にはテキストファイルが100ほどあるので、結果、エクセルファイルが20できればいいのですが。。 できればデスクトップに新しいフォルダが作成されてその中に出力されていくようにしたいです。 お力を貸してください。よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルVBAで行うVLOOKUPについて
エクセル2000を使用しています。 いまいろいろVBAを使用してますが、わからないことがあります。 シート1に入力データ、シート2に参照のデータ USERFORM を使用し たとえばテキストBOX1にコードAと入れるとテキストBOX2に東京支店と表示し確認をできるようにしたいのです。東京支店は、シート2の参照データから引用してきます。 BOX1にAと入れてエンターを押した時点でVLOOKUPを実施させたいのですがいまいちわかりません。 シート2は A列にコード A,B,C,D,.... B列に東京支店、千葉支店... よろしくお願いいたします
- 締切済み
- オフィス系ソフト
- エクセルのマクロでHTMLファイルを出力するには
エクセルのマクロでHTMLファイルを出力するには 下記アドレスのソースをもとに、エクセルでHTMLファイルを複数出力できたらと考えています。 内容は、sheet1のA列にテキストが入っていると、それを任意のファイル名(ダイアログ)でテキストとして保存が可能になるソースです。 ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_040.html 出来ればこれを以下のように変えたいと考えております。 ●シート名「1」~「50」の計50シートのA列のテキストを、 それぞれのシート名+任意の文字列で保存をしたい。 ●ファイル名の任意の文字列については、シート内のセル (例:sheet1のA4)に記載されている内容としたい。 ●ファイル形式は、HTML形式で保存をしたい。 ●保存先のフォルダは任意のディレクトリ内 (例:C:\Documents and Settings\All Users\デスクトップ)の配下に、 シート内のセル(例:sheet1のA3)に記載されている内容を フォルダ名として、新規に作成し、その中に保存したい。 恐れ入りますが、ご回答よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAに詳しい方教えてください。
Excel VBAについて 下記内容をマクロを使ってできるようにしたいのですが、どなたかお力添えいただけませんか? 例えば、下記のような記載のファイルBook1があるとします。 A1セル内 名前 B1セル内 〇〇会社 C2セル内 〇〇部 D2セル内 〇〇係 この内容を別のファイルBook2へ転記したいのです。 ただし、Book2の列は下記のようになっており A列 名前(すでに入力されている) B列 会社名 C列 部 D列 課 E列 係 Book1の内容をBook2の下記の条件で正しいセルへ転記したいです。 -Book1で[部]で終わっているものはBook2のB列[部]に転記 -Book2ですでに入力されている名前の行に、Book1の情報を転記 ご協力のほど何卒よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- EXCELのデータベース利用について(VBA)
VBA初心者の者です。 下記の様なEXCELファイルを作りたいのですが、どのようにすれば良いのか まったくわかりません。 ACCESSでの構築が簡単なのかもしれませんが、データ量がそれほど多くないことと 職場にACCESSがないため、可能であればEXCELで構築したいと考えています。 私自身、プログラムの知識がなく、EXCEL VBAのサイトを確認するのですが、いまいち どうすれば良いのかわかりません。 ぜひご教授の程よろしくお願いします。 3つのシートの構成は以下になります。 【入力シート】 A1セルに文字列(A~Z)入力欄 【○○データシート】 A列に A~Z の文字列 B列に 001~100までの数値 C列に 001~100までの数値 D列に 001~100までの数値 E列に 001~100までの数値 例) A列 B列 C列 D列 E列 1 A 001 2 B 001 002 003 004 3 C 003 4 D 002 003 【▽コマンドシート】 A列に 001~100までの一意の数字 B列に 文字列(コマンド) C列に 文字列(コマンド詳細) 例) A列 B列 C列 1 001 xx blank 2 002 xxx△ xxx 3 003 xxxx x○ 4 004 xxxxx xxx 【欲しいVBA】 1、入力シートのA1セルに○○データシートのA列に該当するA~Zの 文字列を入力。 2、○○データシートのB列~F列までの数値を参照 3、2の数値において▽コマンドシートのA列に記載ある番号と紐づけを行い、 ▽コマンドシートのB列、C列に記載がある文字列を入力シートのB列、C列にコピー ※コピー時は▽コマンドシートの書式や体裁情報も含めてコピー。 例としては以下になります。 入力シートの A1セルにDを入力した場合は 入力シート A列 B列 C列 1 D xxx△ xxx 2 xxxx x○ 3 以上、ご教授よろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
お礼
回答ありがとうございました!希望通りの動作を確認できました。