`

vba 学习(二)

 
阅读更多

八、VBA 排序 ,Range Sort

对数据透视表、单元格区域或活动区域(如果指定区域仅包含一个单元格)进行排序。

expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

 

expression   必需。该表达式返回“应用于”列表中的对象之一。如 Range("A2:B2000")

 

Key1   Variant 类型,可选。第一个排序字段,可为文本(数据透视表字段或区域名)或者为 Range对象 (例如,“Dept”或Cells(1, 1))。

Order1  XlSortOrder 类型,可选。在 Key1 中指定的字段或区域的排序顺序。

XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescending 对 Key1 按降序排序。
xlAscending 默认值。对 Key1 按升序排序。

Key2   Variant 类型,可选。第二个排序字段,可为文本(数据透视表字段或区域名)或者为 Range对象。如果省略本参数,则没有第二个排序字段。对数据透视表进行排序时,不能使用本参数。

Type  Variant 类型,可选。指定要排序的元素。仅在对数据透视表排序时才使用本参数。

XlSortType 可为以下 XlSortType 常量之一。
xlSortLabels 按标签对数据透视表排序。
xlSortValues 按值对数据透视表排序。

Order2  XlSortOrder 类型,可选。在 Key2 中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。

XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescending 对 Key2 按降序排序。
xlAscending 默认值。对 Key2 按升序排序。

Key3   Variant 类型,可选。第三个排序字段,为文本(区域名)或者为 Range对象。如果省略本参数,则没有第三个排序字段。对数据透视表进行排序时,不能使用本参数。

Order3  XlSortOrder 类型,可选。在 Key3 中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。

XlSortOrder 可为以下 XlSortOrder 常量之一。
xlDescending 对 Key3 按降序排序。
xlAscending 默认值。对 Key3 按升序排序。

Header  XlYesNoGuess 类型,可选。指定第一行是否包含标题。对数据透视表进行排序时,不能使用本参数。

XlYesNoGuess 可为以下 XlYesNoGuess 常量之一。
xlGuess 由 Microsoft Excel 确定是否有标题,如果有,确定标题位于何处。
xlContinuous 默认值。(应对整个区域进行排序)。
xlYes (不应对整个区域进行排序)。

OrderCustom   Variant 类型,可选。本参数是从 1 开始的整数,指定了在自定义排序顺序列表中的索引号。如果省略 OrderCustom参数,则使用常规排序。

MatchCase   Variant 类型,可选。如果为 True,则进行区分大小写的排序;如果为 False,则排序时不区分大小写。对数据透视表进行排序时,不能使用本参数。

Orientation  XlSortOrientation 类型,可选。排序方向。

XlSortOrientation 可为以下 XlSortOrientation 常量之一。
xlSortRows 默认值。按行排序。
xlSortColumns 按列排序。

SortMethod  XlSortMethod 类型,可选。排序类型。对于所选择或安装的不同语言支持(例如:美国英语),以上某些常量可能不可用。

XlSortMethod 可为以下 XlSortMethod 常量之一。
xlStroke 按每个字符的笔划数量排序。
xlPinYin 默认值。按字符的汉语拼音顺序排序。

DataOption1  XlSortDataOption 类型,可选。指定如何对 key 1 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。

XlSortDataOption 可为以下 XlSortDataOption 常量之一。
xlSortTextAsNumbers 将文本作为数字型数据排序。
xlSortNormal 默认值。分别对数字和文本数据进行排序。

DataOption2  XlSortDataOption 类型,可选。指定如何对 key 2 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。

XlSortDataOption 可为以下 XlSortDataOption 常量之一。
xlSortTextAsNumbers 将文本作为数字型数据排序。
xlSortNormal 默认值。分别对数字和文本数据进行排序。

DataOption3  XlSortDataOption 类型,可选。指定如何对 key 3 中的文本进行排序。对数据透视表进行排序时,不能使用本参数。

XlSortDataOption 可为以下 XlSortDataOption 常量之一。
xlSortTextAsNumbers 将文本作为数字型数据排序。
xlSortNormal 默认值。分别对数字和文本数据进行排序。

说明

对于特定的工作表,每次使用本方法时,将保存对 Header、Order1、Order2、Order3、OrderCustom 和 Orientation 的设置。如果在下次调用本方法时不指定这些参数的值,则会使用这些保存的值。如果不使用这些保存的值,在每次使用 Sort方法时请明确设置这些参数的值。

不能转换为数字型数据的文本字符串按常规排序。

注意   如果使用 Sort方法时没有定义参数,则 Microsoft Excel 会对所选定的要排序的区域按升序排序。

Excel VBA教程:Sort方法·示例

本示例对工作表 Sheet1 上的单元格区域 A1:C20 进行排序,用单元格 A1 作为第一排序关键字,用单元格 B1 作为第二排序关键字。排序是按行以升序进行的,没有标题。本示例假定单元格区域 A1:C20 有数据存在。

Sub SortRange1()
    Worksheets("Sheet1").Range("A1:C20").Sort _
        Key1:=Worksheets("Sheet1").Range("A1"), _
        Key2:=Worksheets("Sheet1").Range("B1")
End Sub

本示例对工作表 Sheet1 上包含单元格 A1 的区域(活动区域)进行排序,按第一列中的数据进行排序,并且自动使用标题行(如果存在)。本示例假定活动区域(包含单元格 A1)中有数据存在。Sort方法将自动确定活动区域。

Sub SortRange2()
    Worksheets("Sheet1").Range("A1").Sort _
        Key1:=Worksheets("Sheet1").Columns("A"), _
        Header:=xlGuess
End Sub

 

   在 A2 到 B2000 的 范围内,对 B2到B2000,进行倒序

   Sheets("Sheet3").Range("A2:B2000").Sort key1:=Range("B2:B2000"), Order1:=xlDescending
  

九、VBA 调用 excel 自带函数

 WorksheetFunction.Sum(Range())

 

 

 

十、VBA 创建 excel 文件       

       VBA  选择 本地目录

       VBA 删除文件,文件夹

 

   1. 创建 excel 文件

Sub createExcel()
Dim gzb As Workbook
     Set gzb = Workbooks.Add
     'FileFormat:=xlExcel8 ,存成2003版本
    'WriteResPassword   Variant 类型,可选。 该字符串表示文件的写保护密码。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。
     gzb.SaveAs "d:\mm.xls", FileFormat:=xlExcel8, WriteResPassword:="12345"
    Set gzb = Nothing
End Sub

 

  2. 选择本地目录

   在excel 中创建一个按钮,指定这段vba即可

Sub getworkdir_for_salesWithoutVATburget()
    'Declare a variable as a FileDialog object.
    Dim fd As FileDialog
    'Create a FileDialog object as a File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    'fd.Filters = "Excel Files (*.xls), *.xls"
    fd.Title = "请选择文件的存放目录"
   

    Dim vrtSelectedItem As Variant
    With fd
        If .Show = -1 Then
            'Step through each string in the FileDialogSelectedItems collection.
            'vrtSelectedItem is a String that contains the path of each selected item.
            'You can use any file I/O functions that you want to work with this path.
            'This example simply displays the path in a message box.
            Sheets("operation").Select
            
            '指定本地目录的值,保存在那个cells中
            Cells(4, 3).Value = fd.SelectedItems.Item(1)
            
            'The user pressed Cancel.
        Else
        End If
    End With
    'Set the object variable to Nothing.
    Set fd = Nothing
End Sub

 

 

  2. 删除文件, 文件夹 

 

'循环删除所有文件
Sub test()
    Dim FileName As String
    FileName = Dir("D:\报表\*.xls*")
    Do While FileName <> ""
        Kill "D:\1\" & FileName
        FileName = Dir
    Loop
End Sub


'利用了系统的RD命令来直接删除文件夹。
Sub DeleteDir(DirPath As String)
'DirPath表示的是文件夹的完整路径
If Dir(DirPath, vbDirectory) <> "" Then
    Shell "c:\windows\system32\cmd.exe /c rd ""c:\111""/s/q", vbHide
    '利用系统的CMD来直接删除文件夹
    '跳过了利用VBA进行文件夹目录的遍历,然后再RmDir删除文件的不便。
End If
End Sub
Sub DeleteFile(FilePath As String)
'FilePath表示的是文件的完整路径+文件名
    If Dir(FilePath) <> "" Then Kill FilePath
'若文件存在,则删除该文件
End Sub


'单个删除
DeleteFile "E:\光盘\DNRJ\照片.JGP" '删除文件
DeleteDir "E:\光盘\我的文档" '删除文件夹


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Day1-跟着孙兴华学习Excel VBA 第二季

    Day1-跟着孙兴华学习Excel VBA 第二季

    Excel VBA学习笔记

    这篇“Excel VBA学习笔记”涵盖了多个关键知识点,下面将对这些内容进行详细讲解。 一、VBA基础 1. **环境介绍**:VBA开发环境包括VBE(Visual Basic Editor)编辑器,它提供了代码编辑器、项目浏览器、对象浏览器...

    excel_vba 学习资料

    第二部分可能深入到VBA的高级主题,如错误处理(On Error)、事件处理程序(当特定事件发生时自动执行的代码)、对象模型(如Workbook、Worksheet、Range等对象)以及数组和集合的使用。这些高级概念将使你能够编写...

    vba学习 一个老鸟的吐血总结(转载)

    "VBA学习指南" 本教程旨在为CAD二次开发提供VBA教程,教程详细介绍了VBA的基础知识和实践应用,为CAD开发者提供了有价值的参考。 什么是Autocad VBA? Autocad VBA(Visual Basic for Applications)是一种功能...

    VBA学习基础.pdf

    ### VBA学习基础知识点 #### 一、VBA概述 **1.1 VBA是什么** - **定义**:VBA(Visual Basic for Applications)是一种基于Visual Basic编程语言的子集,用于实现Microsoft Office等应用程序的自动化操作。它使得...

    VBA二维数组重定义

    学习VBA二维数组重定义时,建议配合实践项目,如模拟数据处理、报表生成等,这样能更好地理解并运用这些知识。通过观看`VBA二维数组重定义.flv`这个视频教程,可以深入理解并掌握这一主题,同时结合实际编程练习,将...

    AutoCAD VBA二次开发教程(PDF)

    总的来说,通过学习这个AutoCAD VBA二次开发教程,用户不仅能掌握编程基础知识,还能具备在AutoCAD环境中实现自定义功能的技能,从而提高工作效率,减少重复劳动,为专业设计工作带来显著的便利。无论是初学者还是有...

    VBA学习资料

    ### VBA学习资料知识点概述 #### 一、VBA简介 - **VBA**(Visual Basic for Applications)是一种由微软开发的事件驱动编程语言,它作为Microsoft Office套件中的一个组成部分,广泛应用于Excel、Word等Office应用...

    VBA学习软件

    标题中的“VBA学习软件”指的是旨在帮助用户学习和掌握Visual Basic for Applications(VBA)的应用软件。VBA是一种编程语言,广泛应用于Microsoft Office等应用程序的宏编程和自定义自动化。该软件以免费的形式提供...

    VBA的学习总结

    ### VBA的学习总结 在VBA(Visual Basic for Applications)的学习过程中,基础知识和基本概念是构建高级应用的基石。本文将围绕如何使用VBA生成无重复无空值的数据有效性下拉列表这一主题展开,同时也涉及到了VBA...

    vba高级开发指南(VBA学习)

    VBA高级开发指南是一份专门针对有经验的VBA学习者的资源,旨在深入探索VBA的各种特性和应用。 一、VBA基础 在VBA中,你需要了解基本的编程概念,如变量、常量、数据类型(如Integer、String、Double等)、运算符和...

    CATIA VBA二次开发入门与提高_CATIAVBA二次开发资料_catia_

    在"CATIA VBA二次开发入门与提高"的学习过程中,你将接触到以下几个关键知识点: 1. **VBA环境设置**:学习如何在CATIA中启用和配置VBA编辑器,以及创建和管理宏项目。 2. **对象模型探索**:理解CATIA的对象层次...

    VBA学习笔记本(二)——两个表格数据匹配_DEMO

    VBA学习笔记本(二)——两个表格数据匹配_DEMO 将excel中两个工作表中,数据进行一键同步的通用方法

    ArcGIS_VBA.rar_GIS 二次开发_GIS二次开发_arcgis vba_arcgisVBA_gis

    **GIS 二次开发:ArcGIS VBA 入门指南** GIS(Geographic Information System,地理信息系统)二次开发是利用GIS软件提供的开发工具和技术,自定义功能、创建应用程序或解决特定地理问题的过程。在这个领域,ArcGIS...

    EXCEL—VBA学习精华汇集

    本资料集旨在提供从入门到精通的EXCEL VBA学习精华,帮助用户深入理解和掌握这一强大的工具。 一、VBA基础 在开始VBA编程之前,首先需要了解基本概念,如变量、常量、数据类型(如Integer、Double、String等)、...

    AutoCAD2013二次开发VBA插件.zip

    学习和掌握AutoCAD的VBA二次开发技术,不仅可以提升个人工作效率,还能为企业带来显著的竞争优势。VBA与AutoCAD的结合,使得设计者能够根据实际需求定制工具,简化工作流程,提高生产力。因此,对于AutoCAD用户尤其...

    VBA自己学习笔记

    ### VBA学习笔记关键知识点详解 #### 一、工作簿管理与操作 VBA(Visual Basic for Applications)是Microsoft Office套件中的一种编程语言,特别适用于自动化Excel、Word等应用程序的任务。以下是从“VBA自己学习...

    Word_VBA_学习交流资料(全)

    ### Word VBA 学习交流资料关键知识点解析 #### 一、Word VBA 对象模型 **1.1 Application对象** - **定义**: `Application` 是 Word 应用程序的顶级对象,它提供了对 Word 环境的访问点。 - **作用**: 通过 `...

Global site tag (gtag.js) - Google Analytics