すべてのセルを「」でラップし、ヘッダーをスキップするcsvファイルにExcelをエクスポートする方法はありますか?保存-.csvは私が探している答えではありません。
可能であれば、Excel内からこれを行う方法を探しています。コーディングソリューションではありません。ありがとう
すべてのセルを「」でラップし、ヘッダーをスキップするcsvファイルにExcelをエクスポートする方法はありますか?保存-.csvは私が探している答えではありません。
可能であれば、Excel内からこれを行う方法を探しています。コーディングソリューションではありません。ありがとう
Sheet1にデータがあると仮定すると、私が考えることができる最良の非VBAソリューションは、2番目のシートを追加し、次のようにA1に数式を入力することです。
=""""&Sheet1!A1&""","""&Sheet1!B1&""","""&Sheet1!C1&""""
次に、それをSheet1にあるのと同じ数の行にコピーします。この式を、できるだけ多くの列に拡張する必要があります。
これにより、必要なCSVファイル形式のように見える単一の列が得られます。次に、そのページをテキストファイルとして保存します。
データがセルA1のアクティブシートの最初のヘッダー行で始まると仮定すると、添付されたコードは、データを仕様に合わせてcsvファイルに書き込む必要があります。
Sub WriteToCSV()
Const forReading = 1, forAppending = 3, fsoForWriting = 2
Dim fs, objTextStream, sText As String
Dim lLastRow As Long, lRowLoop As Long, lLastCol As Long, lColLoop As Long
Set fs = CreateObject("Scripting.FileSystemObject")
Set objTextStream = fs.opentextfile("c:\temp\myResult.csv", fsoForWriting, True)
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column
For lRowLoop = 2 To lLastRow
sText = ""
For lColLoop = 1 To lLastCol
sText = sText & Chr(34) & Cells(lRowLoop, lColLoop) & Chr(34) & ","
Next lColLoop
objTextStream.writeline (Left(sText, Len(sText) - 1))
Next
objTextStream.Close
Set objTextStream = Nothing
Set fs = Nothing
End Sub