在 Excel 的编辑中,利用到VBA编程的几率是很高的,因此如果工作上用到Excel还没学会VBA的朋友,不妨学习一下。接下来是我为大家带来的excel表格vba编程教程,希望对你有用。
excel表格vba编程教程VBA编程步骤1:首先打开excel visual basic窗口,可以调试或试运行程序,打开excel—点击”工具“—"宏(M)"—“visual basic编辑“,红框内就是代码编辑区域
excel表格vba编程教程图1
VBA编程步骤2:首先我们得找到读取数据的源文件,可以通过自动寻找路径名+文件名来打开
PS:语法与VB相似,且可以选中英文词按F1查看具体语法说明
excel表格vba编程教程图2
VBA编程步骤3:其次,读取我们需要的数据,并作简单赋值
excel表格vba编程教程图3
VBA编程步骤4:根据取得的数值,我们作一些简单运算,如求环比,同比等
excel表格vba编程教程图4
VBA编程步骤5:然后我们对一些数据作格式处理,比如保留小数点后两位或一位
excel表格vba编程教程图5
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
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)