2016-08-23 29 views
0

投稿Create text Files from every row in an Excel spreadsheetのマクロを使用してExcelテーブルの各行に個別のファイルを作成しています。出力ファイルは、各値の後に空白行を作成しています。ファイルを保存する前に空の行が削除されるように、このコードを変更できますか?Excel VBAでテキストファイルを保存する前に空白の行を削除します

Sub SaveRowsAsCSV() 

Dim wb As Excel.Workbook, wbNew As Excel.Workbook 
Dim wsSource As Excel.Worksheet, wsTemp As Excel.Worksheet 
Dim r As Long, c As Long 

Set wsSource = ThisWorkbook.Worksheets("CSV_Template_Data") 

Application.DisplayAlerts = False 

r = 1 
Do Until Len(Trim(wsSource.Cells(r, 1).Value)) = 0 
    ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(1) 
    Set wsTemp = ThisWorkbook.Worksheets(1) 

    For c = 2 To 142 
     wsTemp.Cells((c - 1) * 2 - 1, 1).Value = wsSource.Cells(r, c).Value 
    Next c 

    wsTemp.Move 
    Set wbNew = ActiveWorkbook 
    Set wsTemp = wbNew.Worksheets(1) 
    wbNew.SaveAs "C:\Datasets\" & r & "_Well.csv", xlCSV 
    wbNew.Close 
    ThisWorkbook.Activate 
    r = r + 1 
Loop 

Application.DisplayAlerts = True 

End Sub 
+0

私は、次のコードを挿入し使用することによってこれを解決することができた:で:(「A500 A1」) .Valueの= .Valueの .SpecialCells(xlCellTypeBlanks).EntireRow.Delete エンドエラーに範囲が次 を再開 –

答えて

0

各空の行を削除するコードを追加することは、確かに有効です。変更:

wsTemp.Cells((c) - 1, 1).Value = wsSource.Cells(r, c).Value 

wsTemp.Cells((c - 1) * 2 - 1, 1).Value = wsSource.Cells(r, c).Value 

をして、エラー再開に追加すると次のようにうまく動作するように表示されます。

関連する問題