- ベストアンサー
エクセルの表ををメモ帳などにカンマで区切って一列に表記
はじめまして。よろしくお願いします。 エクセルで、列に2項目、行が20行の表があります(セル:A1~B20)。 この表のそれぞれの行をカンマで区切って横並べしてテキスト表示 したいのですが、一括で行う方法はないでしょうか。 つまり エクセル A1 B1 A2 B2 ・ ・ ・ A20 B20 で表されたものを以下のようにテキスト表記したいのです。 A1 B1,A2 B2,・・・,A20 B20
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Wordにコピーしてから編集してはいかがでしょう? Excelで範囲を選択してコピー Wordで[形式を選択して貼り付け]-[貼り付ける形式=(テキスト)]を選択して貼り付け [置換]-[オプション]-[特殊文字] 検索する文字列=[段落記号] 置換後の文字列=[,] で1回目の置換 検索する文字列=[タブ文字] に変更して2回目の貼り付け お望みの形式になると思いますので [名前を付けて保存]-[ファイルの種類]=(書式なし(*.txt))] officeのバージョンで上記と違うかもしれません。
その他の回答 (4)
- jersey23
- ベストアンサー率0% (0/1)
csv形式で保存した後、Word2000でなら 編集 → 置換 → あいまい検索のチェックを外す → 特殊文字のボタンを押す → 段落記号(P)を選択。 すると、”検索する文字列”に「 ^p 」が入力されるので、 ”置換語の文字列”に「 , 」(カンマ)を入力して「すべて置換」にすると 横一列になります・・・。 (あいまい検索チェックを外して、直接半角「^p」と「,」入力後 すべて置換でも可能でした) こんな方法でもOK? wordバージョンによっても違うかも。 筋違いならごめんなさい。
お礼
ありがとうございました。出来ました。 これでだいぶ楽になります。出来てしまう仕組みは分からないですが活用したいと思います。
- xls88
- ベストアンサー率56% (669/1189)
試しにVBAを組んでみました。 同じ名前のファイルがあると上書きされます。 Sub tes1() Dim note As Variant Dim pname As String Dim fname As String Dim rng As Range Dim mytxt As String Dim i As Long Dim j As Long pname = "D:\" fname = "Test01.txt" Set rng = Sheets("Sheet1").Range("A1:B20") 'テキスト化 For i = 1 To rng.Rows.Count For j = 1 To rng.Columns.Count mytxt = mytxt & "," & rng(i, j).Value Next j Next i mytxt = Replace(mytxt, ",", "", 1, 1) '出力(同じ名前のファイルがあると上書きされる) Open pname & fname For Output As #1 Print #1, mytxt Close #1 'メモ帳 note = shell("notepad.exe " & pname & fname, vbNormalFocus) End Sub
補足
ありがとうございます。 No4,5の回答で出来てしまったのですが、もしよろしければ教えて頂きたいのですが、 作っていただいたVBAをどのように運用したらよいのでしょうか。すみません。全然分か っていなくて。
- Tasuke22
- ベストアンサー率33% (1799/5383)
「名前を付けて保存」を行います。 この時、ファイルの種類を選んで、CSVカンマ区切りを 選び、CSVを無理やりテキストエディタで編集しても いいですし、CSVの拡張子をtxtに変更しても構いません。 また、テキストでスペース区切りやタブ区切りなどの 出力も出来ます。
補足
やってみました。CSVの拡張子をtxtにして、メモ帳に出力できました。ありがとうございます。 ただ、各行が改行されたままであることは変わりません。20行と書きましたが、それ以上にな ることもあり、その場合に、deleteで各行をつめて一行にするのは手間がかかるので、何かいい 方法がないかと思っています。
- 4500rpm
- ベストアンサー率51% (3212/6290)
20行ぐらいなら、 CSV形式で保存して、メモ帳で開いて編集するのが速いです。 ※A1B1はセルの値ですよね。
補足
ありがとうございます。 確かにそうなのですが、20行以上になることもあり、また20行程度のものでもこのような作業を することが何度もあり出来れば、一度に横並びにテキスト表示する方法あれば作業がはかどるので すが。 ※説明不足ですみません。A1B1などはそれぞれ、A1、B1のセルに何らかの値が入っていることを意 図して書きました。
お礼
ありがとうございました。うまくいきました。