将数据从Excel复制到CSV文件

41zrol4v  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(279)

我有一个Excel电子表格。

我想将条形码和数量数据从Excel工作表复制到CSV文件,如下所示:
一万零一千三百二万零五百四十六
一万零一三三万三百三十
一万零一三四零三六零
具有以下代码:

Dim i As Long, lastrow As Long
' Sheet name is İrsaliye
lastrow = Sheets("İrsaliye").Range("C1000").End(xlUp).Row 

For i = 23 To lastrow

    Cells(i, "C").Copy
    Cells(i, "I").Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\oguz\Desktop\csv\yourCSV.csv" _
    , FileFormat:=xlCSV, CreateBackup:=False, Local:=True
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

Next

它只是把最后的数量数据366到csv文件。
如果我使用下面的代码行

Range("C23:C25").Copy

代替

Cells(i, "C").Copy

它把所有的数据从条形码代码到CSV,但在这种方式下,我不能把数量到CSV文件。

2nbm6dog

2nbm6dog1#

请尝试以下操作:

Dim i As Long, lastRow As Long
    lastRow = Sheets("İrsaliye").Cells(Rows.Count, "A").End(xlUp).Row
    
    Dim sourceWb As Workbook
    Dim destinationWb As Workbook
    Set sourceWb = ThisWorkbook
    Set destinationWb = Workbooks.Add
    
    sourceWb.ActiveSheet.Range("C2:C" & lastRow).Copy
    destinationWb.Sheets(1).Range("A1").PasteSpecial xlPasteAll
    Application.CutCopyMode = False
    
    sourceWb.ActiveSheet.Range("I2:I" & lastRow).Copy
    destinationWb.Sheets(1).Range("B1").PasteSpecial xlPasteAll
    
    Application.ScreenUpdating = True        
        
    Application.DisplayAlerts = False
    destinationWb.SaveAs Filename:="c:\TMP\tmp.csv", FileFormat:=xlCSV, CreateBackup:=False
    destinationWb.Close SaveChanges:=False
    Application.DisplayAlerts = True

相关问题