1.EXCEL VBA遍布文件夹的操作
关于VBA遍历文件夹主要用的是提供的Application.FileDialo函数来由个人进行自由选择,通过获取选择的文件夹地址之后,通过Dir函数来匹配选取文件夹下的相应的文档。相应的VBA程序代码如下:
Dim sel_Path As String '//定义一个选择的文件夹
Dim MyFile As String '//文件夹中符合条件的文件
'//选取相应的文件夹
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择文件夹"
If .Show = -1 Then
sel_Path = .SelectedItems(1) '//所选择的文件夹路径
Else
MsgBox "已取消操作!"
Exit Sub
End If
End With
Dim sel_PathFullName As String '定义一个文件的全路径名称
MyFile = Dir(sel_Path & "\" & "*.csv")
2.关于单元格地址的获取
在写VBA的过程中,对于单元格地址的获取至关重要,它直接决定了能否完成正确的完成相应的操作。获取单元格地址主要有以下几种方法:
2.1 以下几种获取结果如注释所示
F_Max_Range = ActiveCell.Address() '获得单元格的地址,形式为$A$1
F_Max_Range = ActiveCell.Address(0, 0) '获得单元格的地址,形式为A1
F_Max_Range = ActiveCell.Address(0, 1) '获得单元格的地址,形式为$A1
F_Max_Range = ActiveCell.Address(1, 0) '获得单元格的地址,形式为A$1
F_Max_Range = ActiveCell.Address(1, 1) '获得单元格的地址,形式为$A$1
2.2 以变量的形式获取单元格地址
以获取最后一列的最后一个单元格的地址为例:首先需要获取获取最后一列的地址,再得到总的行数,将以上两种结果进行拼接,即得出最后一列的最后一个单元格的地址。相应的关键代码如下:
Num_Col = Wb.Worksheets(2).UsedRange.Columns.count '总的列数
Row_Col = Wb.Worksheets(2).UsedRange.Rows.count '总的行数
Add_Max_Col = Split(Cells(1, Num_Col).Address, "$")(1) '获得最后一列的地址
Range_Add_Max_