excel_VBA小结
1.VBA实现进行转置
Set template = ThisWorkbook.Worksheets(2) '临时存储数据计算表
template.Range("B1:BG50") = WorksheetFunction.Transpose(wb.Worksheets(1).Range("C1:AZ58"))
2.文件夹选择对话框
Dim fd As FileDialog
Dim strPath As String
'使用FileDialog对象选择文件夹
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
'显示文件夹对话框
fd.Title = "港股合并,请选择数据所在文件夹,然后点击确定"
fd.InitialFileName = ThisWorkbook.Path '本工作当前路径
If fd.Show = -1 Then '用户选择了文件夹
strPath = fd.SelectedItems(1)
Else: strPath = ""
'MsgBox "您没有选择数据所在文件夹路径"
Exit Sub '退出程序下面执行
End If
Set fd = Nothing
na = Dir(strPath & "\*.xls") '需要合并的所有工作表都要事先保存在F:\数据\20120705\文件夹下
Do While na <> "
Set wb = Application.Workbooks.Open(strPath & "\" & na)
用户操作区域
wb.Close '关闭工作簿
na = Dir() '取下一个工作簿
Loop
3.单元格调整格式
Columns("A:A").Select
Selection.NumberFormatLocal = "00000"
4.单元格区域复制粘贴操作
template.UsedRange.Copy '复制数据
'ActiveCell.CurrentRegion.Select '选择区域(不知道多少行)
newshe.Activate'newshe为一个工作表(已经定义的)
q = newshe.Range("B60000").End(xlUp).Row '临时工作表的总行数
q = q + 1
newshe.Cells(q, 1).Select
ActiveSheet.Paste '执行粘贴
5.获取当前工作表的一列的有效数据个数(工作表行数)
q = newshe.Range("B60000").End(xlUp).Row '临时工作表的总行数
6.删除指定单元格内容
template.Range("A1:BG50").Delete '删除临时存储表中的旧数据(删除单元格)
template.Range("A1:BG50").clearConatents '清空数据 不删除单元格
who:whaozl
QQ:1057674944
email:whaozl@163.com
blog:http://www.cnblogs.com/whaozl
note:原创博客请尊重版权,转载必须得到本人同意