0

我有很多(几千个)带有分隔数据的 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

结果我得到了这个: https://imgur.com/a/BbBIkKH

这给我带来了 3 个问题(我今天才开始学习 VBA ......):

  1. 如何将最后一个数据格式化为数字,而不是文本?
  2. 在一些 RPT 文件中,我有很少或更多的数据,看起来像单元格 3 和 4,但在其他货币中,如何添加它们?
  3. 如何在 VBA 中创建一个循环来执行此操作并为我的文件夹中的所有 RPT 文件添加数据?
4

0 回答 0