您的问题有多种方法,我使用以下一种方法来实现我使用 VBA 的自动化。
我会建议你使用两张表(比如同一个工作簿的输入和输出),其中输入表应该有来自你的文本文件的数据,输出表会给你从特定位置开始的数据(比如 10,20)。
在输入表上添加一个按钮并在其单击事件上编写以下代码(从文本文件的 C7 单元格中粘贴您的数据):
首先使用以下代码获取总行数:
usedRowCount = Worksheets("Input").UsedRange.Rows.Count
然后使用以下代码从特定位置复制字符串并使用以下代码将其粘贴到输出表上:
For i = 1 To usedRowCount
'Get the first row in variable strRecord
strRecord = Worksheets("Input").Cells(i, "C").Value
'Copy substring from 10th posotion, 6 characters and copy it to sheet Output position A1
Worksheets("Output").Cells(i, "A").Value = Mid(CStr(strRecord), 10, 6)
'Copy substring from 20th posotion, 8 characters and copy it to sheet Output position B1
Worksheets("Output").Cells(i, "B").Value = Mid(CStr(strRecord), 20, 8)
'Copy substring from 30th posotion, 4 characters and copy it to sheet Output position C1
Worksheets("Output").Cells(i, "C").Value = Mid(CStr(strRecord), 30, 4)
next i