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 '清空数据 不删除单元格

 

 

posted @ 2012-07-30 12:02  whaozl  阅读(215)  评论(0编辑  收藏  举报