我正在从在线电话日志中将数据导入excel。它基本上是这样的:
Date Time Duration Local Identity Number
14.12.2016 11:11 00:03 88821354@192.168.1.2 22252797
14.12.2016 10:33 00:02 88821354@192.168.1.2 25322678
我已成功将数据导入Excel。然而,电话日志本身真的很烦人,因为它只保留最近一次拨打任何给定号码的数据。即如果我拨打上面列表中的第二个号码(25322678),我将丢失前一个呼叫的数据(在10:33进行)。这将在Excel中反映出来。
我想知道是否有一种方法可以连续导入新数据而不会覆盖旧数据。在我看来,通过调整导入设置无法做到这一点,所以我正在考虑不同的解决方法。尽管如此,我还是无法想出任何远程能力。
答案 0 :(得分:2)
此解决方案创建一个名为“PhoneLog”的工作表,以保存“From web”功能的累积结果。
此过程假定“From web”函数的结果位于名为“WebFrom”的工作表中,范围A:E
从行{开始{1}} (根据需要进行更改)
此过程必须位于包含“From web”功能结果的同一工作簿中。
在更新“From web”功能之前第一次运行此过程,以便将实际结果添加到“PhoneLog”。然后在“From web”功能之后立即运行此过程。
如果在工作簿中找不到“PhoneLog”工作表,则此过程将创建“PhoneLog”工作表。然后它将“PhoneLog”的所有新记录添加到“WebFrom”工作表(根据需要进行更改)。
1
建议阅读以下页面以深入了解所使用的资源:
Excel Objects, For Each...Next Statement, If...Then...Else Statement,
On Error Statement, Option Explicit Statement,
Range Object (Excel), Range.CurrentRegion Property (Excel), Range.Offset Property (Excel),
Range.PasteSpecial Method (Excel), Range.SpecialCells Method (Excel),
Using Arrays, Variables & Constants, With Statement, Workbook Object (Excel),
Worksheet.AutoFilter Property (Excel), Worksheet.Sort Property (Excel),
答案 1 :(得分:1)
我可能会使用这种方法:
考虑使用 HTTP请求来获取响应文本,而不是使用Excel导入数据功能。或者,您可以使用 Internet Explorer 对象导航到该站点。
然后,您可以将响应文本分配给 HTMLDocument 并获取所需的数据。或者您可以使用一些正则表达式来提取它。
然后您可以导入所有数据并在之后删除重复项,或者您可以在导入之前进行扫描,以查看记录是否不存在,然后仅导入它。