• 締切済み

Excel データ切り出しマクロについて

Excelのマクロについてお聞きしたいと思います. たくさんあるテキストファイルの一部を切り取って貼り付けたい場合は どうしたらいいのでしょういか? マクロではない流れとしては テキストファイルを開く ↓ 全選択してコピー ↓ Excelに貼り付ける ↓ 必要な部分だけ切り取る ↓ 貼り付け データの例としては A 12.3 78.5 B 13.5 65.5 C 23.5 65.8 とあるとしたら一番右側の列のデータのみ(78.5,65.5,65.8) だけ必要とします(切り取りたい部分) どのようなマクロを組んだらいいのでしょうか? よろしくお願いいたします.. マクロ実行時にファイルを選択できる機能もつけていただけたら 嬉しいです. できましたら全コードを載せていただけたら幸いです.

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

#1です。 例えばマクロの自動記録で、 Workbooks.OpenText Filename:="D:\aaa.txt" '~続きは省略 とあったらその前後に Dim vntFileName As Variant 'ファイルを開くダイアログを開きます vntFileName = _ Application.GetOpenFilename( _ FileFilter:="テキストファイル(*.txt),*.txt" _ , FilterIndex:=1 _ , Title:="開けゴマ" _ , MultiSelect:=False _ ) If vntFileName <> False Then Workbooks.OpenText Filename:=vntFileName ',~マクロの自動記録のコード End If としてみる。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Excel でテキストファイルを読み込む(1/2) ~区切り文字入りデータ~ http://hp.vector.co.jp/authors/VA014071/tips/txtwiz_1.html のようにしてテキストファイルを読み込み、必要のない列を削除する動作を マクロの自動記録でコードを作成してみる。 ファイル選択ダイアログを使う http://www.happy2-island.com/excelsmile/smile03/capter00803.shtml などで読み込むファイルの選択をしてみる。

cherubimca
質問者

補足

ありがとうございます. ファイルを選択してマクロを実行する方法が分かりません... 自動記録で必要な部分だけを得ることは出来たのですが 一つのファイルしか出来ません... 自動記録したVBAのコードにこのファイルを開くコードを くっつければいいのですよね? しかしよくわかりません...

関連するQ&A

  • ExcelデータをTxtファイルへ貼り付けるマクロ?について

    ExcelのデータでA列(日付データ)、C列(名前)、E列(電話番号)とある会員の電話番号を管理しているデータがあります。毎回このデータをテキストファイルに値貼付けしているのですが、マクロで作成できないでしょうか? このデータは毎回会員数が違うので、データが入力されている行までを選択してテキストファイルへ値貼付けできればありがたいです。よろしくお願いします。

  • 複数の写真をエクセルに貼り付けられるマクロ

    エクセルで工事写真を貼り付けたいのですが、 マクロにより以下のことを実行したいです。 (1)写真貼り付け開始セルをダブルクリック (2)写真を複数枚選択 (3)写真をセルのサイズにリサイズ (4)ファイル名順に写真を貼り付け マクロを普通に実行して(2)~(4)を行うコードや 写真1枚に対して(1)(3)(4)ができるコードは見つかるのですが、 (1)~(4)ができるコードが見つかりません。 ちなみに、写真貼り付け用のセルは4列×12行分の結合セルで この形式が下に延々と続いています。 どなたか良い知恵をお貸しください

  • エクセルでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願いします。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • EXCELでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願い致します。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • エクセル【マクロ】で置換作業を自動的にテキスト化させたいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願いします。

  • ExcelマクロでVBエディタの自動化は出来ない?

    Excelのマクロで、VBエディタの操作を自動化したいと考えていますが、出来ないのでしょうか? マクロの記録では VBエディタの操作は一切記録されないようです。 バージョンは Excel2003 です。 具体的には、全てのマクロのコードをテキストファイルに吐き出したいと考えています。 ファイルメニューのエクスポートでも、コードウィンドウ1つ1つを "全てを選択" でも、Excelのマクロから実行させることは出来ないのでしょうか? よろしくお願いします。

  • 外部ファイルデータ取り込みマクロ実行法(エクセル)

    いつもお世話になっております。 エクセルにおいて 、外部ファイルのエクセルデータを取り込みマクロを実行させる方法 がわかりませんので、お教え願います。 (自分のやりたい処理の流れ) エクセルファイル1のマクロボタン1を押すと、取り込むファイルを選択できるように なっており、それ(例えばエクセルファイル2)を選択すると、エクセルファイル1に登録されている マクロ2の処理が自動で行われる。 (現状) エクセルファイル2のデータを、エクセルファイル1のA3を先頭に貼り付けてから、 マクロ2を実行して処理しております。 現状のA3に貼り付けるという処理は考慮していただいても、していただかなくてもかまいませんので 、何卒、ご指導、ご鞭撻のほど、よろしく御願い申し上げます。

  • (excel VBA) データを一列にまとめる(マクロで一気に)

    excel2003を使っています webページ全体を、テキスト形式でシートに貼り付けて その後必要な部分だけをマクロで抽出するという作業を行っています。 テキスト形式で貼り付けた際、ブックを開いた直後に(一度もマクロを実行してない状態)貼り付けを行うと、すべてのデータがうまくA列に貼り付けられるのですが、 一度マクロを実行させた後、同じように貼り付けを行うと、データがB列やC列に散らばってしまいます。(行の位置は変わりないです) この解決策が全く思いつかないので、次のマクロを組みました Range("A1").value = Range("A1").value & Range("B1").value まとめたい行が100行以上あるので、とりあえずDo~LoopかFor~nextを使って、この記述で1行ずつまとめていく感じです。ただ、一気に列全体をまとめれたほうがスピードが速いと思い、質問いたしました。 そこで (1)列全体を一気にまとめる方法はありますか? (2)そもそも貼り付けの段階で、ちゃんとA列にデータがまとまらないのはなぜ?(1回目はできるのに…) という質問に、お答えいただけないでしょうか? 質問を2つに分けようかとも思ったのですが、関連でしたので、まとめて質問させていただきました。 お力をお貸し願えないでしょうか?

  • エクセルのマクロでクリップボードの使い分け。

    マクロ初心者です。任意のシートの任意の列(先に選択しておきます。)とそのシートのA列を特定のシートの2列に並べてコピーしたいのですが、クリップボードを使ってマクロ記録をしても、実行すると貼り付けの段階でエラーが起こります。クリップボードの中身を一つ目のデータ、二つ目のデータというように、選択して貼り付けすることは無理なのでしょうか。あるいは、一つ目のデータをコピー・貼り付けした後、元の任意のシートに戻る方法はないでしょうか。どなたか教えてください。よろしくお願いします。Excel2000を使っています。

  • エクセルのマクロについて教えて下さい

    エクセルで、データ(書類)のコピー貼り付けのマクロを組みました。 ツール→マクロで、新しいマクロの記録から、実際にコピーをして貼り付けをし、記録の終了をしました。 次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 たしか絶対参照とか相対参照とかあったような気がするのですが…。 どうすれば、他の場所でもボタンを押すだけでコピー貼り付けのマクロを実行できるようになりますか? よろしくお願いします。

専門家に質問してみよう