以下是一个示例代码,它使用VBA在Excel的Sheet1中复制CSV文件的内容:

Sub ReadCSVFile()
    Dim filePath As String
    Dim textData As String
    Dim arrData As Variant
    Dim i As Long, j As Long
    
    '打开文件对话框选择CSV文件
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = '选择CSV文件'
        .Filters.Clear
        .Filters.Add 'CSV Files', '*.csv'
        .AllowMultiSelect = False
        
        If .Show = -1 Then
            filePath = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With
    
    '读取CSV文件内容
    Open filePath For Input As #1
    textData = Input$(LOF(1), #1)
    Close #1
    
    '将CSV文件内容分割成数组
    arrData = Split(textData, vbCrLf)
    
    '将数组内容复制到Sheet1
    For i = LBound(arrData) To UBound(arrData)
        Dim rowData As Variant
        rowData = Split(arrData(i), ',')
        
        For j = LBound(rowData) To UBound(rowData)
            Sheet1.Cells(i + 1, j + 1).Value = rowData(j)
        Next j
    Next i
End Sub

要使用此代码,请按以下步骤操作:

  1. 打开Excel,按下Alt + F11打开VBA编辑器。
  2. 在VBA编辑器中,选择插入菜单下的模块
  3. 将上述代码复制并粘贴到新模块中。
  4. 关闭VBA编辑器。
  5. 在Excel中,按下Alt + F8打开宏对话框。
  6. 选择ReadCSVFile宏并点击运行按钮。
  7. 选择要读取的CSV文件并点击打开按钮。
  8. 代码将会将CSV文件的内容复制到Sheet1中。

请注意,此代码假设CSV文件的第一行是表头,并将其复制到Sheet1的第一行。如果您的CSV文件不包含表头或格式不同,请根据需要修改代码。


原文地址: https://www.cveoy.top/t/topic/p7kG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录