使用VBA将CSV文件中的后三列导入当前工作表中,可以使用以下代码:

Sub ImportLastThreeColumnsFromCSV()
    Dim filePath As String
    Dim ws As Worksheet
    Dim targetRange As Range
    
    ' 选择要导入的CSV文件
    filePath = Application.GetOpenFilename('CSV Files (*.csv), *.csv')
    
    ' 检查是否选择了文件
    If filePath <> 'False' Then
        ' 创建新的工作表
        Set ws = ThisWorkbook.Worksheets.Add
        ws.Name = 'Sheet1'
        
        ' 设置目标数据范围
        Set targetRange = ws.Range('A1').Resize(ActiveSheet.Rows.Count, 3)
        
        ' 导入后三列数据
        With ws.QueryTables.Add(Connection:='TEXT;' & filePath, Destination:=targetRange)
            .TextFileParseType = xlDelimited
            .TextFileCommaDelimiter = True ' CSV文件逗号分隔
            .Refresh
            .Delete
        End With
    End If
End Sub

在这个例子中,我们首先使用Application.GetOpenFilename方法选择要导入的CSV文件。

然后,我们创建一个新的工作表,并将其命名为'Sheet1'。

接下来,我们设置目标数据范围(targetRange变量),这里我们假设将CSV文件中的后三列数据放置在Sheet1工作表的第一列到第三列,你可以根据需要进行调整。

然后,我们使用QueryTables对象的Add方法将CSV文件导入到目标数据范围中。我们设置了连接字符串来指定CSV文件的路径,然后指定了文本文件的解析类型、分隔符等属性。最后,我们调用Refresh方法来刷新查询表,然后立即将其删除。

请注意,在导入CSV文件之前,该方法会创建一个新的工作表,并将CSV文件中的后三列数据导入到该工作表中。

你可以将上述代码粘贴到VBA编辑器中的一个新的子过程中,然后运行该过程,以实现将CSV文件中的后三列数据导入到当前工作表中。请在运行代码之前保存好工作簿。


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

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