Excelで使用されるエクスポートフィルターによって、エクスポートされたファイルに望ましくない結果が生じる場合があります。たとえば、タブ区切りのテキストファイルにエクスポートする場合、一部のExcelフィルタは、セル内のテキストを引用符で囲みます。たとえば、特定のセルに次のテキストが含まれているとします。

Create bts; sitemask = "0110"; pcmlink = 40

ただし、これはセル内のテキストがExcelによってエクスポートされる方法です。

"Create bts; sitemask = ""0110""; pcmlink = 40"

Excelは、最初にセルの内容全体の周りに引用符を追加し、次にセル内の以前に「引用符で囲まれた」テキストの周りに追加のセットを追加することに注意してください。

この問題を処理するための1つの解決策は、Excelで作成されたテキストファイルをWordなどの別のプログラムにロードし、検索と置換機能を使用して不要な引用符を削除することです。ただし、より良い解決策は、出力テキストファイルを作成する独自のマクロを作成することです。

次のマクロについて考えてみます。

Sub Export()

Dim r As Range, c As Range     Dim sTemp As String

Open "c:\MyOutput.txt" For Output As #1     For Each r In Selection.Rows         sTemp = ""

For Each c In r.Cells            sTemp = sTemp & c.Text & Chr(9)

Next c

'Get rid of trailing tabs         While Right(sTemp, 1) = Chr(9)

sTemp = Left(sTemp, Len(sTemp) - 1)

Wend         Print #1, sTemp     Next r     Close #1 End Sub

エクスポートするセルを選択して、マクロを実行するだけです。選択範囲のセルがワークシートから抽出され、ファイルc:MyOutput.txtに配置されます。 (このファイル名は、マクロ内で必要に応じて変更できます。)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(8321)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。