繁体   English   中英

数据从 Excel 导出到 CSV

[英]Data export from Excel to CSV

当我将数据从我的 excel 工作表中分离的列和行传输到 .csv 格式时,它不会以 .csv 格式分离数据。 我把我的代码放在下面。

Private Sub CommandButton1_Click()
    Dim lastrow As Long, wb As Workbook, ws As Worksheet, wbDest As Workbook, _
        wsDest As Worksheet, path As String

    If ComboBox1.Value = "DENİZBANK - ALTUNİZADE ŞUBE" Then
        'Combobox isimli bir dosya aç
        Set wb = ThisWorkbook
        Set ws = wb.Sheets("TL")
        path = "C:\Users\emir.DEMTA\Desktop\Vahit Çağlayan Dosyalar\p. CSV\DENİZBANK - ALTUNİZADE ŞUBE\Deniz_Giden_Banka_HGS.csv"
        Set wbDest = Workbooks.Open(path)
        Set wsDest = wbDest.Worksheets("Deniz_Giden_Banka_HGS")
        n = 1

        For i = 13 To 50 'lastrow
            'Aşağıdaki verileri combobox isimli dosyaya yazdır.
            If ComboBox1.Value = "DENİZBANK - ALTUNİZADE ŞUBE" And _
               ComboBox5.Value = "1073196-389" And _
               TextBox5.Value <> "" And _
               ws.Cells(i, "A").Value = "DENİZBANK - ALTUNİZADE ŞUBE" And _
               ws.Cells(i, "I").Value = "Banka" Then
                wsDest.Cells(n + 1, 1) = ws.Cells(i, 9).Value
                wsDest.Cells(n + 1, 2) = ws.Cells(i, 4).Value
                wsDest.Cells(n + 1, 3) = ws.Cells(i, 6).Value
                wsDest.Cells(n + 1, 5) = "1"
                wsDest.Cells(n + 1, 6) = "'01"
                wsDest.Cells(n + 1, 7) = ws.Cells(i, 7).Value
                wsDest.Cells(n + 1, 8) = ws.Cells(i, 8).Value

                n = n + 1
            End If
        Next i

        wbDest.SaveAs Filename:="C:\Users\emir.DEMTA\Desktop\Vahit Çağlayan Dosyalar\p. CSV\DENİZBANK - ALTUNİZADE ŞUBE\" _
           & " D - HGS - " & Date & ".csv"
        wbDest.Close
        Set wbDest = Nothing

        Unload Me
    End If
End Sub

Excel 中传输到 .csv 的每条信息都同时出现在一个单元格中

MasrafHGS100

我想要的是在我的代码中传输所有相同的数据

Masraf    HGS    100

如果您.SaveAs您还需要根据您的情况下的XlFileFormat 枚举指定FileFormat:= ,可能是FileFormat:=xlCSV 然后在文本编辑器中打开 CSV 进行检查! 不在 Excel 中。

如果您在 Excel 中打开它,它会执行 CSV 到 Excel 导入(如果具有错误的属性,它不会正确地将其导入到不同的列中)。 请注意,双击 .CSV 文件(在 Excel 中打开它)是幸运的,没有正确导入! 它可能会按预期显示或不显示。

wbDest.SaveAs FileFormat:=xlCSV, local:=True, Filename:="C:\Users\emir.DEMTA\Desktop\Vahit Çağlayan Dosyalar\p. CSV\DENİZBANK - ALTUNİZADE ŞUBE\" _ & " D - HGS - " & Date & ".csv" 

在代码中,您只是指定文件以.csv结尾。 但是,这并不适用 CSV 文件的“格式”。

为此,您需要始终指定何时执行.SaveAs Name - FileFormat 您可以执行FileFormat:=xlCSVFileFormat:=6

或者,您始终可以执行FileFormat:=xlTextWindows来获取.txt文件,然后使用替代方法将其转换为.csv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM