VBA代码:将CSV文件的后三列导入Excel工作表
使用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 著作权归作者所有。请勿转载和采集!