Копировать данные из Excel в файл CSV - PullRequest
0 голосов
/ 10 июля 2020

У меня есть таблица Excel. введите описание изображения здесь

Я хочу скопировать данные о штрих-коде и количестве из таблицы Excel в файл csv как:

101320,546

101330,330

101340,360

С кодами ниже:

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 файл.

1 Ответ

1 голос
/ 10 июля 2020

Попробуйте это:

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...