gooドクター有料プランが1ヶ月間無料!

Excelで作成したデータ(J2セルに並んでいます)をテキストファイルにコピーして保存する以下のようなマクロを組みました。

Public Sub テキストファイルへ貼り付け()
Dim a As String
Dim maxrow As Integer

'プログラムをコピーする
maxrow = Cells(Rows.Count, 10).End(xlUp).Row
ThisWorkbook.Worksheets(1).Range("J2:J" & maxrow).Copy

Sheets.Add
ActiveWorkbook.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues

'保存するブックの名前を作成
a = ThisWorkbook.Path & "\データ.txt"

'新しく作成したブックを名前を付けて保存
ActiveWorkbook.SaveAs Filename:=a, FileFormat:=xlCurrentPlatformText
ActiveWorkbook.Close

End Sub

ですが、上記を行うとデータの前後に「"」が付いてしまいます。(添付画像参照)
データにはカンマが含まれているので、これが原因だということは分かるのですが、データからカンマを抜くことはしたくありません。
「"」を付けずにテキストファイルに保存することはできるのでしょうか?
分かる方がいましたら教えていただきたいです。

「Excel VBA マクロ textファ」の質問画像
gooドクター

A 回答 (2件)

セルの値に「"」が含まれる事がないのであれば、


下記の通り既に保存してあるファイルを読み込んで「"」を消す
というコードでも可能です。

一例なので、もっといい案があるかもしれないので、
念のため他の回答者さんの回答を待ってみるといいかと思います。

a = ThisWorkbook.Path & "\データ.txt"

Dim myFSO As Object
Dim myTXT As String

Set myFSO = CreateObject("Scripting.FileSystemObject")

With myFSO.OpenTextFile(a)
myTXT = .ReadAll
.Close
End With

myTXT = Replace(myTXT, """", "")

With myFSO.OpenTextFile(a, 2)
.Write myTXT
.Close
End With

Set myFSO = Nothing
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
ご提示いただいたコードで「”」を削除することができました。
大変ありがとうございます。
後1日だけ回答を募集し、回答がつかないようでしたらぽち101さんをBAに致します。

お礼日時:2021/04/28 13:38

「"」無しで保存できるようなコード


もしくは、
「"」有りで保存したファイルから「"」を取り除くコード
のいずれかを自分で実装するしかなったように思います。

ちなみに、セルの値に「"」が含まれることはありますか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
自分で調べてみましたが、方法がどうしても見つかりませんでした。
どのようなコードがあるか教えていただくことは可能でしょうか?
また、セルに「"」は含まれておりません。

お礼日時:2021/04/27 16:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング