【发布时间】:2019-05-06 06:17:14
【问题描述】:
使用 Excel 向导将文本转换为列时。如何获取此转换中使用的字段信息数组。例如,在示例文本到列中生成的 vba 代码中,我们如何获取使用的 fieldinfo 数组 Array(0, 1), Array(24, 1), Array(44, 1) 等最好在一个变量中
Selection.TextToColumns Destination:=Range("A5"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(24, 1), Array(44, 1), Array(70, 1), Array(79, 1), _
Array(96, 1), Array(107, 1), Array(118, 1), Array(127, 1), Array(135, 1)), _
TrailingMinusNumbers:=True
【问题讨论】:
-
从哪里采购?
-
@TimWilliams VBA 新手,请不要介意。但是当我们在 Excel 中通过 Text to column 向导时,它会自动计算这些宽度。但是,出于我的目的,我需要调整这个数组,因为它会稍微错位。例如,array(44,1) 理想情况下应该是 Array(50,1)。如果我们可以将excel默认检测到的这些字段信息放入变量中
-
为什么不在代码中直接更改呢?您想在运行时进行调整吗?
-
需要比较两个表之间到达的数组,然后根据标准选择最佳字段宽度。数组来自另一个表 Array(Array(0, 1), Array(24, 1), Array(50, 1), Array(70, 1) 所以需要调整第三个断点,如 Array(44, 1) 到 array(50,1)。复制向导中可用的手动断点。
-
听起来你需要为用户构建一个类似的 UI 来做出这些选择 - 如果你不信任“自动”方法,那么你总是需要让用户拨打电话?