macros循环行直到空值,复制值,并将这些结果保存为CSV?

我想要创build一个macros,将循环通过活动的Excel工作表中的行。 每个循环迭代将复制列A,B和C的值。如果第一个单元格是空白的,我想结束循环,除非空单元格在第二行。 然后我想继续循环。 最后,在复制所有数据之后,我想将复制的数据写入CSV文件。 这可能吗?

Excel工作表

我试图录制一个macros,但是这个解决scheme并不健壮,因为它不使用循环,而是使用硬编码的Range Selects

 Sub Export_to_CSV() ' ' Export_to_CSV Macro ' ' Range("A1:C1,A3:C27").Select Range("A3").Activate Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet2").Select ActiveWindow.SelectedSheets.Delete Sheets("Sheet3").Select ActiveWindow.SelectedSheets.Delete ChDir "C:\CSV" ActiveWorkbook.SaveAs Filename:="C:\CSV\MacroCSV.csv", FileFormat:=xlCSV, _ CreateBackup:=False End Sub 

谢谢!

如果你的要求和你写的要求完全一样,那么这个应该是有效的。

 Option Explicit Sub Export_To_CSV() Dim wkbMain as Workbook, wkbCopy as Workbook Dim wksMain as Worksheet, wksCopy as WOrksheet Set wkbMain = ThisWorkbook Set wkbCopy = Workbooks.Add Set wksMain = wkbMain.Sheets("mySheet") Set wksCopy = wkbCopy.Sheets(1) With wksMain .Range(.Range("A3"),.Range("C3").End(xlDown)).Copy wksCopy.Range("A1") End With With wkbCopy Application.DisplayAlerts = False Dim x as Integer For x = 2 to .Worksheets.Count .Sheets(x).Delete Next Application.DisplayAlerts = True .SaveAs Filename:="C:\CSV\MacroCSV.csv", FileFormat:=xlCSV, CreateBackup:=False End With End Sub