使用VBA提取CSV文件后三列数据并导入Excel工作表

这篇文章将介绍如何使用VBA宏代码从CSV文件中提取后三列数据,并将其导入到Excel当前工作簿的指定工作表中。

**代码:**vbaSub CopyLastThreeColumnsFromCSV() 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('Sheet1') ' 替换为你的工作表名称 Set targetRange = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Offset(0, 1).Resize(ws.Rows.Count, 3) ' 导入后三列数据 With ws.QueryTables.Add(Connection:='TEXT;' & filePath, Destination:=targetRange) .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True ' CSV文件逗号分隔 .Refresh .Delete End With End IfEnd Sub

代码解释:

  1. 选择CSV文件: 代码首先使用 Application.GetOpenFilename 方法让用户选择要导入的CSV文件。2. 设置目标工作表和数据范围: 代码将目标工作表设置为 Sheet1 (可以根据需要修改),并使用 targetRange 变量定义目标数据范围。这里假设将数据导入到现有数据的右侧。3. 使用QueryTables导入数据: 代码使用 QueryTables.Add 方法将CSV文件导入到目标数据范围。 * Connection 属性指定CSV文件的路径。 * Destination 属性指定数据导入的目标单元格。 * TextFileParseType 和 TextFileCommaDelimiter 属性设置CSV文件的解析方式。4. 刷新并删除QueryTable: 代码调用 Refresh 方法刷新查询表以获取数据,然后立即将其删除。

注意事项:

  • 此代码将CSV文件的数据直接导入到工作表中。* 如果你希望保留原始CSV文件中的格式和分隔符,可以手动导入CSV文件并选择适当的选项。* 将上述代码粘贴到VBA编辑器中的一个新的模块中,然后运行该过程即可。* 请在运行代码之前保存好工作簿。

希望这篇文章能帮助你使用VBA从CSV文件中提取后三列数据并导入Excel!

VBA宏代码: 从CSV文件提取后三列数据并导入Excel

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

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