如何编写“EXCEL VBA”程序?

如何编写“EXCEL VBA”程序?,第1张

Sub main()

Set dic = CreateObject("scripting.dictionary")

arr = Range("A1").CurrentRegion

For i = 1 To UBound(arr)

If dic.exists(arr(i, 2)) = False Then

dic(arr(i, 2)) = arr(i, 1)

Else

If dic(arr(i, 2)) <arr(i, 1) Then

dic.Remove arr(i, 2)

dic(arr(i, 2)) = arr(i, 1)

End If

End If

Next i

[E1].Resize(dic.Count, 1) = Application.Transpose(dic.keys)

[D1].Resize(dic.Count, 1) = Application.Transpose(dic.items)

End Sub

PrivateConstDirPath$="C:\"'指向查找的路径

Subaa()

DimFilename$

Dimi&

DimWbAsWorkbook,RngAsRange

Application.ScreenUpdating=False

Application.DisplayAlerts=False

OnErrorResumeNext

WithWorksheets("总表")

Fori=1To.[B65536].End(3).Row

IfLen(.Cells(i,2))0Then

Filename=DirPath&""&.Cells(i,"B")&".xls"

IfLen(Dir(Filename))0Then

SetWb=GetObject(Filename)

WithWb.Worksheets("材料")

IfErr.Number0ThenGoTol

SetRng=.[B:B].Find(what:="水泥砖")

IfNotRngIsNothingThen

Worksheets("总表").Cells(i,"C")=Rng.Offset(0,1).Value

EndIf

EndWith

l:

Wb.CloseFalse

EndIf

EndIf

Next

EndWith

Application.ScreenUpdating=True

Application.DisplayAlerts=True

EndSub

 VBA开发环境分为“主窗口”、“模块代码”、“工程资源管理器”和“模块属性”这几部分。“模块代码”窗口用来输入“模块”内部的程序代码。“工程资源管理器”用来显示这个数据库中所有的“模块”。当我们用鼠标单击这个窗口内的一个“模块”选项时,就会在模块代码窗口上显示出这个模块的“VBA”程序代码。而“模块属性”窗口上就可以显示当前选定的“模块”所具有的各种属性。 所有的“VBA”程序都是写在“模块代码”窗口中的。我听说程序光写完还不行,还要“编译”什么的,这又是怎么回事呀? 小博士:任何一种高级计算机语言都不能直接被计算机看懂,它们必须通过编译器的编译才能使计算机明白这些语句所要表达的数值运算和逻辑关系。就像我们和外国人交谈一样,如果我们相互之间都不懂对方的语言,就需要一个翻译将所说的话翻译过来,这样双方才能明白对方想要表达的意思。同样编译器也起了相互沟通的中介作用。在VBA中,由于我们在编写代码的过程中会出现这里去看,很详细 http://www.hongen.com/pc/oa/ac2k/ac2k1602.htm


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11014507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存