首页 > 解决方案 > Excel vba如何仅将csv中的一列提取到电子表格中

问题描述

我是 VBA 新手。如何从 CSV 数据中提取唯一的列并将其放入电子表格的任何位置?

我有一个来自 API/URL 的 CSV 文件,看起来像这样

A,B,C,D,E
1,2,3,4,5
6,7,8,9,10
11,12,13,14
14,15,16,17

我有这段代码,但它显示了所有 CSV 数据。如何从数据中仅获取一两列并将其放置在电子表格中的任何位置?

Sheets(1).Range(Range("A1"), Range("A1").End(xlDown)).TextToColumns _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=True, Space:=False, Other:=False, _
FieldInfo:= _
Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 1), Array(5, 2))

标签: excelvba

解决方案


对于 FieldInfo 中包含的两个元素数组中的每一个,第一个元素指定列号(从 1 开始),第二个元素指定数据类型。要跳过一列,请将第二个元素或数据类型设置为 9。例如,假设您要跳过第 1、3 和 4 列,您需要按如下方式进行设置...

FieldInfo:=Array(Array(1, 9), Array(2, 2), Array(3, 9), Array(4, 9), Array(5, 2))

推荐阅读