excel用vba自动提取某个ini文件中的数字到制定单元格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel用vba自动提取某个ini文件中的数字到制定单元格相关的知识,希望对你有一定的参考价值。

ini文件会自动生成在文件夹内,并以数字命名(1-28),数字不一定是连续的,可能会有个别数字没有。想用vba实现把名为1.ini文件里的数字生成到B2单元格,把名为2.ini文件里的数字生成在B3单元格,以此类推,把21.ini文件里的数字生成在B22单元格,如果没有某个数字的文件的话单元格就空着。是不是很复杂,大神们帮帮忙吧~~~只有2个悬赏值了。。。。。

1、读取这个ini文件。
2、读取时要注意文件的内容格式。
3、将读取的内容写入到指定的单元格。
4、具体的代码网上有很多例子,可以百度一下。
参考技术A .ini文件的读取,可以当做文本文件的读取一样进行操作;
涉及到的知识:文本文件的操作(读取)
参考技术B VBA代码和DOS命令整理都可完成。 参考技术C int文件里面的格式统一的么 参考技术D 代码解决追问

大神,能不能帮我写写

用vba做excel两个表的比对

本人学艺不精,工作需要,急求用vba做excel两个表的比对
备注1:比对离线系统与在线系统的E列。在线系统没有的数据整行自动复制到sheet3中
备注2:比对在线系统与离线系统的E列。离线系统没有的数据整行自动复制到sheet3中

交换比对,尽量做两个文件
附件,http://pan.baidu.com/s/1i5qAbDb

Sub 备注1() '比对离线系统与在线系统的E列。在线系统没有的数据整行自动复制到sheet3中
Application.ScreenUpdating = False
Dim Dic, i%, n%
Sheets("离线系统").[1:1].Copy Sheets("Sheet3").[A1]
Sheets("Sheet3").UsedRange.Offset(1).Delete
n = 1
Sheets("在线系统").Activate
Set Dic = CreateObject("Scripting.Dictionary")
For i = 2 To [A1].CurrentRegion.Rows.Count
Dic(Cells(i, "E").Value) = ""
Next
Sheets("离线系统").Activate
For i = 2 To [A1].CurrentRegion.Rows.Count
If Not Dic.Exists(Cells(i, "E").Value) Then
n = n + 1
Rows(i).Copy Sheets("Sheet3").Rows(n)
End If
Next
Sheets("Sheet3").Activate
Application.ScreenUpdating = True
End Sub

  备注1运行结果:

    


Sub 备注2() '比对在线系统与离线系统的E列。离线系统没有的数据整行自动复制到sheet3中
Application.ScreenUpdating = False
Dim Dic, i%, n%
Sheets("离线系统").[1:1].Copy Sheets("Sheet3").[A1]
Sheets("Sheet3").UsedRange.Offset(1).Delete
n = 1
Sheets("离线系统").Activate
Set Dic = CreateObject("Scripting.Dictionary")
For i = 2 To [A1].CurrentRegion.Rows.Count
Dic(Cells(i, "E").Value) = ""
Next
Sheets("在线系统").Activate
For i = 2 To [A1].CurrentRegion.Rows.Count
If Not Dic.Exists(Cells(i, "E").Value) Then
n = n + 1
Rows(i).Copy Sheets("Sheet3").Rows(n)
End If
Next
Sheets("Sheet3").Activate
Application.ScreenUpdating = True
End Sub

  备注2运行结果:

    

 

参考技术A 感觉用Excel公式就能做吧,Vlookup

比较结果分两个文件,那么再加上一个Sheet4不就好了

离线中找在线里面没有的数据:
A.在辅助列,比如H列,H2中输入公式
=VLOOKUP(E2,在线系统!$E:$E$,1,FALSE) ,下拉填充
B。对此列进行筛选,找出结果是#NA的行
C.将筛选出的数据复制到新的Sheet中就行了。

在在线Sheet中找离线中没有的数据,也类似
只是公式变成=VLOOKUP(E2,离线系统!$E:$E,1,FALSE),其他一样

以上是关于excel用vba自动提取某个ini文件中的数字到制定单元格的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL用VBA提取字符串

如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?

VBA 展望。尝试从电子邮件正文中提取特定数据并导出到 Excel

用Vb提取网页中的数据

从 pdf 中提取表格(到 excel),pref。带 vba

vba问题 数据的记忆