0

すべてのセルを「」でラップし、ヘッダーをスキップするcsvファイルにExcelをエクスポートする方法はありますか?保存-.csvは私が探している答えではありません。

可能であれば、Excel内からこれを行う方法を探しています。コーディングソリューションではありません。ありがとう

4

2 に答える 2

3

Sheet1にデータがあると仮定すると、私が考えることができる最良の非VBAソリューションは、2番目のシートを追加し、次のようにA1に数式を入力することです。

=""""&Sheet1!A1&""","""&Sheet1!B1&""","""&Sheet1!C1&""""  

次に、それをSheet1にあるのと同じ数の行にコピーします。この式を、できるだけ多くの列に拡張する必要があります。

これにより、必要なCSVファイル形式のように見える単一の列が得られます。次に、そのページをテキストファイルとして保存します。

于 2012-09-26T21:48:28.200 に答える
0

データがセル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
于 2012-09-26T21:36:48.197 に答える