我有很多(几千个)带有分隔数据的 RPT 文件。它们都有客户端数据,但带有页眉和页脚。
有没有一种简单的方法可以自动将它们全部加载到一个大的 Excel 文件中?
我链接了几个示例文件以更好地了解它们的外观。
我希望你能帮忙。是否应该以某种方式使用宏来完成?或者有没有专门的程序?或者轻松创建一些批处理文件?除了在一个 Excel 文件中批量加载之外,最大的问题是那些围绕数据的页眉和页脚。
更新:这些文件中最重要的信息似乎只有:
- 账单号
- 货币(即欧元)
- 总计
这对过程有帮助吗?是否可以在 Excel 中使用宏和/或 VBA?我还没有使用过这些。
更新 2:我现在只有 25% 的解决方案......在https://www.excel-easy.com/的帮助下,我得到了这个:
Private Sub CommandButton1_Click()
Dim myFile As String, text As String, textline As String, posBill As Integer, posSol As Integer, posVal As Integer, posSum As Integer
myFile = Application.GetOpenFilename()
Open myFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
posBill = InStr(text, "BILL:")
posSol = InStr(text, "FOR OU")
posVal = InStr(text, "TOTAL")
posSum = InStr(text, "TOTAL")
Range("A1").Value = "KONTO"
Range("A2").Value = "SOL"
Range("A3").Value = "VALUTA"
Range("A4").Value = "SUMA"
Range("B1").Value = Mid(text, posBill + 6, 8)
Range("B2").Value = Mid(text, posSol + 7, 3)
Range("B3").Value = Mid(text, posVal + 6, 3)
Range("B4").Value = trim(Mid(text, posSum + 326, 14))
End Sub
这给我带来了 3 个问题(我今天才开始学习 VBA ......):
- 如何将最后一个数据格式化为数字,而不是文本?
- 在一些 RPT 文件中,我有很少或更多的数据,看起来像单元格 3 和 4,但在其他货币中,如何添加它们?
- 如何在 VBA 中创建一个循环来执行此操作并为我的文件夹中的所有 RPT 文件添加数据?