- ベストアンサー
EXCELのテキスト変換
nishi6の回答
A2から下方向にデータが並んでいるときの方法です。必要なURLの前後は『半角スペースとしています』 標準モジュールに貼り付けます。ご参考に。 Public Sub writeURL() Dim outFilename As String '出力ファイル名 Dim rw As Long '行カウンタ Dim dt As String 'データ Dim pot1 As Integer '区切り位置1 Dim pot2 As Integer '区切り位置2 outFilename = "C:\My Documents\・・・・" & "\myTestFile.txt" Open outFilename For Output As #1 For rw = 2 To Range("A65536").End(xlUp).Row dt = Range("A" & rw) pot1 = InStr(dt, " ") pot2 = InStr(pot1 + 1, dt, " ") If rw <> 2 Then Print #1, "," Print #1, Mid(dt, pot1 + 1, pot2 - pot1 - 1) Next Close End Sub
関連するQ&A
- Excelからテキストへの変換に際して
Excelからテキストへの変換に際して 一つのセルに改行を含むデータがあり、それをテキストに1行として 出力したいです。 何か良い方法はありますでしょうか?
- ベストアンサー
- その他MS Office製品
- perlでのcsv形式のテキストファイルの変換
perlを使用してcsv形式のテキストファイルを下記のように変換したいと思っています。 【変換前】 10, abc , def , ghi ,jkl ----1行目 10, abc , def , aaa, bbb ----2行目 10, abc , def , ccc , ddd ----3行目 11, abc , def , eee , fff ----4行目 11, abc , def , aaa , ggg ----5行目 11, zzz , def , aaa , ggg ----6行目 12, abc , def , aaa ,ggg ----7行目 12, zzz , def, aaa , ggg ----8行目 【変換後】 10, abc , def , ghi ,jkl ----1行目 11, abc , def , eee , fff ----4行目 11, zzz , def , aaa , ggg ----6行目 12, abc , def , aaa ,ggg ----7行目 12, zzz , def, aaa , ggg ----8行目 変換内容はcsv形式のテキストファイルで、”,”で区切った先頭3列が 前の行の先頭3列と同じならその行は出力しない、といった 変換をしたいと思っております。 (例えば2行目ですと先頭3列は10, abc ,defになっており、 1行目の先頭3列と同じ文字列になっているためこの行は出力しない) 当方、Perl初心者で上記のようなことがPerlでできるかも よくわかっておりません。 そこで、上記のような変換はPerlで可能なのか、そしてもし可能であるのなら どのようにPerlで記述すればできるのか教えていただけないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Perl
- Perlでのテキスト変換方法に関して
テキストファイルをperlを使用して下記のように 変換したいと思っています。 --------------------------- 【変換前】 aaa 8000 52 ---1行目 abc 200 48 ---2行目 cbd 250 31 ---3行目 efg 98 45 ---4行目 abc 390 68 ---5行目 ddd 89 90 ---6行目 aaa 65 40 ---7行目 fed 900 66 ---8行目 efgh 99 49 ---9行目 abc 40 40 ---10行目 【変換後】 aaa 8000 52 ---1行目 cbd 250 31 ---3行目 efg 98 45 ---4行目 abc 390 68 ---5行目 ddd 89 90 ---6行目 fed 900 66 ---8行目 efgh 99 49 ---9行目 ---------------------------- やりたいことはまず行の先頭文字列(aaaやabc)が完全に一致する行が 複数あれば(2,5,10行目のabcや1,7行目のaaa)、2番目の文字列(スカラー値)の値が 小さい方の行は出力しないようにしたいと思っています。 例えば上記の場合ですと、2,5,10行目の最初の文字列はaaaで完全に一致しており、 2番目の列の値は5行目が390に対し、2行目は200、10行目は40と小さくなっているため 2行目,10行目は出力されない、というのが望んでいる動作です。 sortを使用してどうにかならないかとも、考えたのですが そこから先がどうしていいか思いつきませんでした。 何かよい方法を思い浮かぶ方がいましたら、どのようにPerlで記述すればよいのか 教えて頂けないでしょうか? 宜しくお願いいたします。
- ベストアンサー
- Perl
- Accessのデータをテキストファイルで出力する方法を教えてください。
Accessのデータをテキストファイルで出力する方法を教えてください。 クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。 DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt" フィールドごとに改行して出力する方法はないでしょうか? <クエリ結果> フィールド1 フィールド2 フィールド3 aaa bbb ccc <出力テキストファイル> aaa bbb ccc
- ベストアンサー
- その他(データベース)
- テキストデータをエクセルに変換したい!
改行されていない連続したテキストデータをエクセルに変換したいのですがどうしたらいいのでしょう? 普通、レコード毎に改行されたテキストデータならば、エクセルから該当のテキストファイルを読み込めば区切ってやればいいと思うのですが、改行されていないため、縦に並ばずにすべてのデータが横に並んでしまっています。 すいません、教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルのRIGHT関数の応用方法?について
URLのような文字列で、複数の「/」(スラッシュ)が含まれる場合、一番右(最後)のスラッシュより右側の文字列のみを抽出したいときは、どのような関数を記述すれば良いか、を是非お教えください。 http://www.abc.com/aaa/index01.html ⇒「index01.html」のみを抽出したい http://www.abc.com/aaa/bbb/index02.html ⇒「index02.html」のみを抽出したい http://www.abc.com/aaa/bbb/ccc/index03.html ⇒「index03.html」のみを抽出したい ※もし、RIGHT関数を使う方法でない場合は、その旨ご教示いただけると助かります。 どうか宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- リッチテキストをテキストに変換
お世話になります。 アクセスVBAでデータをリッチテキスト形式にて出力することはできたのですが、その後、出力したリッチテキストをテキスト(改行つき)で保存する方法がわかりません。マクロなど使えば可能なのでしょうか?? 出力の際に、テキストで出力すればいいだろうって話かもしれませんが、そこはリッチテキスト形式にて出力する課題なんです(^_^;)
- ベストアンサー
- Visual Basic
- 一部が共通の複数行を1行にまとめるには
以下のようなテーブルがあります。 項目1 項目2 項目3 項目4 ------------------------------------------------- AAA あああ (NULL) 5678 AAA あああ 1234 (NULL) BBB いいい @@@@ (NULL) BBB いいい (NULL) **** CCC ううう &&&& (NULL) これを 項目1 項目2 項目3 項目4 ------------------------------------------------- AAA あああ 1234 5678 BBB いいい @@@@ **** CCC ううう &&&& (NULL) のように項目1、2が同じ値、かつ項目3、4が(NULL)の部分を1行にまとめたいのです。 データ「CCC」の行のように項目1、2が同じものがなければ、何もせずそのまま出力もしたいです。 よろしくご教授お願いいたします。
- ベストアンサー
- Oracle
- 改行区切りのテキストをExcelに取り込みたい
改行区切りのテキストを以下のようにExcelに取り込みたいのですが、やり方がわかりません。どうぞやり方を教えてください。 山田太郎 住所:千葉 性別:男 佐藤愛子 住所:山梨 性別:女 ↓↓↓↓↓↓↓↓↓↓ 名前 |住所|性別 山田太郎|千葉|男 佐藤愛子|山梨|女 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAでのテキスト出力について
excel vbaでの文字列出力について エクセルからテキスト(メモ帳とか)に出力したいのですが 下記のように出力できなくて困っております。 どなたか教えてほしいです。 ●入力エクセル AAA BBB CCC DDD EEE セル(1,1)~(1,5)にそれぞれ文字列が入っている状況です。 これを下記のように出力したいのです。 ●テキスト出力 "AAA","BBB",CCC,"DDD",EEE CCCとEEEをダブルクォーテーションを付けないで出力したいのです。 出力の方法でwriteとprintがありますが writeで Write #1, Cells(1,1),Cells(1,2),Cells(1,3),Cells(1,4),Cells(1,5) やると、自動で全ての文字がダブルクォーテーションで囲まれて、カンマが自動でつき "AAA","BBB","CCC","DDD","EEE" のようになってしまします。CCCとEEEのダブルクォーテーションが不要です。 printで Print #1, CStr(Cells(1,1)), & "," CStr(Cells(1,2)), & "," Cells(1,3), & "," CStr(Cells(1,4)), & "," Cells(1,5) とすると "AAA", "BBB", CCC, "DDD", EEE となり、カンマの後ろに空白が何個か入った状態になります。 (ブラウザでは空白が分かりづらいですが、テキストですと入っております。) Trim関数でTrim(",")とか色々試しましたが上手くいきません。 どうしたら望み通りの出力ができるでしょうか。 ぜひ教えて頂きたいです。 よろしくお願いします。
- 締切済み
- Visual Basic
お礼
お礼が遅くなりました。 教えて頂いたモジュールをちょっと変えて実行したところ 上手くいきました。 ありがとうございました。