gpt4 book ai didi

excel - 将文本文件数据提取到工作表

转载 作者:行者123 更新时间:2023-12-04 10:51:19 25 4
gpt4 key购买 nike

我想将此文本文件的列粘贴到我的工作簿中。

USAF-WBAN_ID STATION NAME                   COUNTRY                                            STATE                          LATITUDE LONGITUDE ELEVATION
------------ ------------------------------ -------------------------------------------------- ------------------------------ -------- --------- ---------
404200 99999 AL AHSA SAUDI ARABIA +25.285 +049.485 +0179.2

我想提取 7 个变量(7 列)

美国空军-WBAN_ID;站名;国家;状态;纬度;经度;海拔

以下是我尝试过的几种变体,结果并不可靠。
Sub A1_StationID()

Dim vFile As Variant
Dim wbCopyTo As Workbook
Dim wsCopyTo As Worksheet
Dim wbCopyFrom As Workbook
Dim wsCopyFrom As Worksheet

Set wbCopyTo = ActiveWorkbook
Set wsCopyTo = ActiveSheet

MsgBox "Please select weather stn.txt document"

Dim vFileName

vFileName = Application.GetOpenFilename("Text Files (*.txt), *.txt")

Application.ScreenUpdating = False

Workbooks.OpenText Filename:=vFileName, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(44, 1), _
Array(127, 1), Array(136, 1), Array(147, 1), Array(154, 1)), _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, _
Other:=False, TrailingMinusNumbers:=True

Set wbCopyFrom = Workbooks.Open(vFileName)

End Sub

我得到的一些输出:
enter image description here

如果我在倒数第二行代码上添加断点,我会更接近我想要的输出(列困惑)。
enter image description here

最佳答案

首先 - 发布工作代码和可用示例数据的出色工作。

您缺少状态的数组/字段信息指定,并且您的最后 3 列关闭了约 1/2 个字符。我删除了分隔符选项,因为如果您使用 xlFixedWidth,它们无关紧要。 .

改变

Workbooks.OpenText Filename:=vFileName, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(44, 1), _
Array(127, 1), Array(136, 1), Array(147, 1), Array(154, 1)), _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, _
Other:=False, TrailingMinusNumbers:=True


Workbooks.OpenText Filename:=vFileName, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(44, 1), _
Array(95, 1), Array(126, 1), Array(135, 1), Array(144, 1), Array(154, 1)), _
TextQualifier:=xlDoubleQuote, TrailingMinusNumbers:=True

作为旁注,Excel 容易记住 Text to Columns。设置,因此如果您之前弄乱了这些设置,请确保将它们设置为标准设置。

关于excel - 将文本文件数据提取到工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59457679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com