精华内容
下载资源
问答
  • vba编程代码大全
    万次阅读 多人点赞
    2019-06-01 14:30:48

    VBA常用代码大全

    实战代码大全:
    下载资源链接:https://pan.baidu.com/s/1WgCsOAJ_9jgcpVokJXkhhg
    提取码:3nk4
    其他(图表,excel函数大全,自定义功能区图标id):
    链接: https://pan.baidu.com/s/1nkY0ZV7BHPYRA_FPAUn9dg
    提取码: qm89


    网络收集整理,仅供个人学习使用

    更多相关内容
  • ExcelVBA编程常用代码.pdf
  • VBA编程大全

    2019-05-05 19:18:11
    VBA编程大全
  • 这本书还是很赞的,书里面有150个范例,200多个技巧,还是以实用为主,知识点针对性强,适合Excel初学者和有一定ExcelVBA编程基础的同学
  • WORD编程代码集 pdf版

    2018-05-05 08:10:31
    WORD编程代码集是一份WORD 编程代码集(Word VBA Sample Code),做word的相关的编程可以参考使用,掌握相关的使用代码,希望让有一定WORD基础的朋友能够通过此书的来学习。
  • Excel版进销存(vba编程版) 出入库管理,出库,入库,其它功能下载自己体验,
  • 《Excel VBA常用代码实战大全》重点强调实践性,旨在帮助Excel初学者和有一定ExcelVBA编程基础、希望进一步提高的读者掌握VBA编程设计的技巧。全书精选150个典型范例,近245个技巧,以实用为主,知识点针对性强,并...
  • VBA代码大全

    2013-10-02 11:20:04
    VBA代码大全,VBA,36个实例,学习好帮手
  • ppt应用之vba常用代码

    2012-05-27 12:36:46
    VisualBasic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VISUAL BASIC的子集。 利用该代码,可以实现ppt的一些自动处理功能。
  • VBA常用代码合集

    万次阅读 多人点赞 2020-12-19 11:13:11
    VBA常用代码模版Tp0️⃣—零零散散小功能(持续更新)Tp1️⃣—输出活动页面筛选后的行数Tp2️⃣—创建数组存放数据Tp2-1 静态数组Tp2-2 动态数组Tp3️⃣ 创建字典存放数据Tp4️⃣ 优化代码运行速度 Tp0️⃣—零零散...

    Tp0️⃣—零零散散小功能(持续更新)

    • 剪切列
    • 替换字符
    • 取消复制剪切状态
    • 浮点数向上取值
    • 区域添加边框
    • 区域设置颜色
    • 调整列宽、行高
    • 待更新
    '  小功能集合
    Sub Demos()
    
    	'	剪切一列到指定列
    	With ThisWorkbook.Sheets(2)    
    		.[AI:AI].Cut    
    		.[AE:AE].Select    
    		Selection.Insert Shift:=xlToRight
    	End With
    
    	'	替换字符,将(空白)替换为空
    	With worksheet.[C:C]
    		.Replace "(空白)", ""
    	End With
    	
    	'	取消复制剪贴状态
    	Application.CutCopyMode = False
    	   
    	'	将带有小数的数据向上取整
    	NewData = Application.WorksheetFunction.RoundUp(Datas, 0)
    
    	' 	单元格区域添加边框
    	.Range("A4:N" & .Range("A9999").End(xlUp).Row).Borders.LineStyle = xlContinuous
    
    	'  -------------单元格标色-------------
    	'  指定区域标色
    	With Range("C2:G9")
        	.Interior.ColorIndex = 0	' 无填充颜色
         	.Interior.ColorIndex = 3	' 红色
         	.Interior.ColorIndex = 5	' 蓝色              
        End With
        
    	' 实现自动调整行高、列宽
    	Rows("1:5").EntireRow.AutoFit			' 调整1至5行行高
        Columns("A:AA").EntireColumn.AutoFit    ' 调整A至AA列列宽
        ' 设置行高、列宽为固定值
        Rows("1:5").RowHeight = 15				' 设置1至5行行高为15
        Columns("A:AA").ColumnWidth = 15		' 设置A至AA列列宽为15
    
    End Sub
    

    颜色索引-Range属性
    Excel颜色索引

    Tp1️⃣—输出活动页面筛选后的行数

    ' 获取活动页面筛选后的行数
    Sub RowCntAfterFilter()
    
        Dim rngCell As Range
        Dim lngRowCnt As Long
        For Each rngCell In [a1].CurrentRegion.SpecialCells(xlCellTypeVisible).Areas
            lngRowCnt = lngRowCnt + rngCell.Rows.Count
        Next rngCell
    	rows_count =  lngRowCnt - 1   '可视区行数
        MsgBox "筛选后数据行数为:" & rows_count 
        Set rngCell = Nothing
        
    End Sub
    

    Tp2️⃣—创建数组存放数据

    通过数组可以快速对数据进行处理
    前提:表格数据须规范,不考虑合并单元格
    一维数组:数字(1,2,3,4),字符串(a,b,c,d)
    二维数组:((1,1),(1,2),(1,3),(2,1),(2,2),(2,3)) 表格结构、行列转置、计算、遍历、统计…
    多维数组:不是很熟悉,不敢乱说( ̄□ ̄||)
    简单介绍静态数组动态数组的使用

    Tp2-1 静态数组

    Sub SetArray()
    	’   静态数组可直接通过 变量名=数组()的方式设置
    	array_number = Array(1,2,3,4,5)
    	array_string = Array("张三","李四","王五","Sugar","Smile")
    	
    	'  可遍历,参数:count,Index 取值:data = array_data(1)
    	'  赋值
    	.[A1:A5] = array_number 
    	.[B1:B5] = array_string
    
    	'存放单元格区域数据到数组(二维数组的快捷应用)
    	Dim arr As Variant       '定义一个Variant类型的变量,名称为arr
       	arr = Range("A1:C3").Value '将A1:C3中保存的数据存储到数组arr里
       	Range("E1:G3").Value = arr '将数组ar写入E1:G3单元格区域
    
    End Sub
    

    Tp2-2 动态数组

    Sub VimArray()
    
    	'自定义动态数组长度n,上界为0
    	Dim n As Integer
    	n = 0
    
    	Dim SupArr() As String	 ' 定义动态数组存放供应商名称
    	With ActiveSheet   
        	For i = 2 To .[A1048576].End(xlUp).Row
            	ReDim Preserve SupArr(n)		 '  给动态数组重定义一个实际的大小
            	n = n + 1
            	SupArr(n - 1) = .Cells(i, 3).Value  ' 存到动态数组里去
        	Next i
    	End With
    
    End Sub
    

    Tp3️⃣ 创建字典存放数据

    通过字典可以快速对数据进行处理
    存放键值对关系,key具有唯一性,
    参数:count,keys,values,Item
    需要创建字典对象后使用

    '与Excel单元格结合,创建字典存放数据
    Sub RngDict()
    
    	Dim DicManForm As Object
    	Set DicManForm = CreateObject("Scripting.Dictionary")
    	key_MaxRow = ActiveSheet.[A66666].End(xlUp).Row	'活动工作表A列的最后一行的行数
    	
        '对A列进行遍历
        For key_Row = 2 To key_MaxRow
        	'取A列不重复的值作为字典的key,索引值唯一
        	KeyXX = ActiveSheet.Cells(key_Row, 1).Value
         	'导入条件:不为空,不重复
         	If KeyXX <> "" And DicManForm.Exists(KeyXX) = False Then
                DicManForm.Add KeyXX, key_Row
          	End If
        Next
        '通过key值,重设对应的value,key不存在时会报错
        DicManForm(key) = value
    	Set DicManForm = Nothing
    
    End Sub
    

    Tp4️⃣ 优化代码运行速度

    为了加快代码的执行速度,最简单的方式,将代码的执行过程设置为不显示,可以在代码执行时,临时关闭后续设置:自动重算自动刷新弹窗警告
    温馨提示:以下代码需要成对出现,设置False后,末尾改回True

    Sub AppSetting()
    
    	’  程序开始
        With Application
            .ScreenUpdating = False		'  关闭屏幕刷新
            .EnableEvents = False		'  关闭事件触发
            .DisplayAlerts = False		'  关闭弹窗提示
        End With
        
        ' Your Code				'   调用程序运行的主体代码
    
    	’程序末尾
        With Application
            .ScreenUpdating = True		'  恢复屏幕刷新
            .EnableEvents = True		'  恢复事件触发
            .DisplayAlerts = True		'  恢复弹窗提示
        End With
        
    End Sub
    

    好久不见、更新继续

    Tp5️⃣ 轻松实现工作簿加密

    Sub 解除全部工作表保护()
        Dim n As Integer
        For n = 1 To Sheets.Count
            Sheets(n).Unprotect
        Next n
    End Sub
    
    Sub 为指定工作表加指定密码保护表()
        Sheet10.Protect Password:="123"
    End Sub
    
    Sub 在有密码的工作表执行代码()
        Sheets("1").Unprotect Password:=123 '假定表名为“1”,密码为“123”  打开工作表
        Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True   '隐藏C列空值行
        Sheets("1").Protect Password:=123    '重新用密码保护工作表
    End Sub
    

    Tp6️⃣ 通过对话框选择文件-1

    ' 设置选择文件的弹出窗口,自主选择文件
    Sub FilePicker()
        
        Open_Path = ThisWorkbook.Sheets("操作界面").[B4]
        
        '新建一个对话框对象
        Set FileDialogObject = Application.FileDialog(msoFileDialogFilePicker)
        
        '配置对话框
        With FileDialogObject
            
            .Title = "请选择目标文件所在的文件夹:"
            
            '添加判断,改变对话框默认打开的路径
            '默认打开上次的文件路径
            If Open_Path = "" Then
            .InitialFileName = "C:\"
            Else
            .InitialFileName = Open_Path
            End If
            
        End With
        
        '显示对话框
        FileDialogObject.Show
        '获取选择对话框选择的文件
        Set paths = FileDialogObject.SelectedItems
        
        With Sheets("操作界面")
            .[I:I].Clear
            file_ = paths.Item(1)       '包含绝对路径的文件名
            .[B4].Value = paths.Parent.InitialFileName      '当前文件所在目录
            .[B6].Value = Right(file_, Len(file_) - Len(paths.Parent.InitialFileName))  '获取文件
            
            '选择多个文件时,遍历所选文件,并写入I列
            If paths.Count > 1 Then
                i_Row = 2
                For Each Item In paths
                    .Range("I" & i_Row) = Item
                    i_Row = i_Row + 1
                Next
            End If
            
        End With
        
    End Sub
    
    

    Tp7️⃣ 通过对话框选择文件-2

    '通过对话框选择文件路径
    Sub FolderPicker()
        
        Open_Path = ThisWorkbook.Sheets("操作界面").[B4]
        
        '新建一个对话框对象
        Set FolderDialogObject = Application.FileDialog(msoFileDialogFolderPicker)
        
        '配置对话框
        '配置对话框
        With FolderDialogObject
            
            .Title = "请选择目标文件所在的文件夹:"
            
            '添加判断,改变对话框默认打开的路径
            '默认打开上次的文件路径
            If Open_Path = "" Then
            .InitialFileName = "C:\"
            Else
            .InitialFileName = Open_Path
            End If
            
        End With
        
        FolderDialogObject.Show '显示对话框
        
        Set paths = FolderDialogObject.SelectedItems            '获取选择对话框选择的文件夹
        Set fso = CreateObject("Scripting.filesystemobject")    '取目标文件
        Set myf = fso.getfolder(paths.Item(1))                  '从指定路径下获取文件
        
        With Sheets("操作界面")
            .[I:I].Clear
            .[B4].Value = paths.Item(1)
            
            i_Row = 2
            For Each file In myf.Files
    '            .Range("I" & i_Row) = file             '记录绝对路径+文件名
                .Range("I" & i_Row) = file.Name         '记录文件名
                i_Row = i_Row + 1
            Next
            
        End With
        
    End Sub
    
    

    Tp8️⃣ 从目录页自动跳转至明细页

    在这里插入图片描述
    **小提示:**权限分配表中的合并单元格,其中有一个小技巧,请参考另一篇针对筛选单元格的笔记
    ------------如何解决筛选时只显示第一行------------

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        Dim Rng, oRng As Range      ' 定义变量Rng、oRng为单元格
        
        Set Rng = Range("B2:B18")   ' 设定Rng为可操作区域单元格
        Set oRng = Selection        ' 设定oRng为选中单元格
        
        '如果所选单元格在可操作区域外,退出本次运行
        If Application.Intersect(oRng, Rng) Is Nothing Then Exit Sub
    
        Application.ScreenUpdating = False
    
        ' 多选则退出,单选设置筛选值
        If Selection.Count > 1 Then Exit Sub Else AimValue = Selection.Value
        
        ' 自动跳转至目标工作表进行筛选
        With Sheets("权限分配表")
    
            If .FilterMode = True Then .ShowAllData
            .Range("A1").AutoFilter Field:=1, Criteria1:=AimValue, _
             Operator:=xlAnd
            .Activate
        
        End With
        
        Application.ScreenUpdating = True
        
    End Sub
    
    

    Tp9️⃣ 选择区域自动设置或取消值

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        
        On Error Resume Next
    
        Dim Rng, oRngs, oRng As Range     ' 定义变量Rng、oRng为单元格
        Dim Aim As String                 ' 定义变量Aim为字符串
    
        Aim = "√"                  ' 设定目标值
        
        Set Rng = Range("D2:H706")  ' 设定Rng为可操作区域单元格
        Set oRngs = Selection       ' 设定oRngs为选中单元格
        
    
    
        '如果所选单元格在可操作区域外,退出本次运行
        If Intersect(oRngs, Rng) Is Nothing Then Exit Sub
    
            
    '    Selection.FormulaR1C1 = Aim      '直接设置所选区域内的值为"√"
    
        ' 针对选择区域,有值清空,空值设定Aim
        For Each oRng In oRngs
        
            If oRng.FormulaR1C1 = "" Then oRng.FormulaR1C1 = Aim Else oRng.FormulaR1C1 = ""
    
        Next
        
        On Error GoTo 0
    
        Application.ScreenUpdating = True
        Application.DisplayAlerts = True
    
    End Sub
    
    
    
      未完待续、、、
      期待下次相遇
    
    展开全文
  • Office编程百宝箱29.0,简称VBA百宝箱。为Office编程国产首款超大型插件,原创30多个功能宝贝。所有功能通用于Excel、Word、PowerPoint、Outlook、Access、Publisher、Project、Office全家福。适用于微软Office2003...
  • 进销存管理系统,基于excel和VBA实现
  • Word vba常用语句合集

    2018-04-11 10:25:20
    word二次开发常用的语句合集,自己整理的,顺便希望的大家下载
  • VBA EXCEL 常用代码

    千次阅读 2022-03-18 11:54:57
    使窗体的标题栏不显示 (1) 插入类模块 ” CFormChanger” 代码如下 : Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As ...

    1.显示活动工作簿名称
    MsgBox " 当前活动工作簿是 " & ActiveWorkbook.Name


    2. 保存活动工作簿
    Activeworkbook.Save


    3. 保存所有打开的工作簿关闭 EXCEL
    For Each W in Application.Workbooks
    W.Save
    Next W
    Application.Quit


    4. 将网格线设置为蓝色
    ActiveWindow.GridlineColorIndex = 5


    5. 将工作表 sheet1 隐藏
    Sheet1.Visible = xlSheetVeryHidden


    6. 将工作表 Shtte1 显示
    Sheet1.Visible = xlSheetVisible


    7. 单击某单元格 , 该单元格所在的行以蓝色背景填充 , 字体颜色为白色
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      If Target.Row >= 2 Then ’ 第二行以下的区域
         On Error Resume Next
         [ChangColor_With1].FormatConditions.Delete
         Target.EntireRow.Name = "ChangColor_With1"
         With [ChangColor_With1].FormatConditions
          .Delete
          .Add xlExpression, , "TRUE"
          .Item(1).Interior.ColorIndex = 5
          .Item(1).Font.ColorIndex = 2
         End With
      End If
    End Sub


    8. 使窗体在启动的时候自动最大化
    Private Sub UserForm_Initialize()
       Application.WindowState = xlMaximized
       With Application
           Me.Top = .Top
           Me.Left = .Left
           Me.Height = .Height
           Me.Width = .Width
       End With
    End Sub


    9. 不保存工作簿退出 EXCEL
    Application.DisplayAlerts = False
    Application.Quit


    10. 使窗体的关闭按纽不好用
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbformcontrdmenu Then
    MsgBox " 请用关闭按钮关闭窗口 !!", 64, " 提示 "
    Cancel = True
    End If
    End Sub


    11. 使窗体在 3 秒后自动关闭
    Private Sub UserForm_Activate()
    Application.Wait Now + TimeValue("00:00:03")
    UserForm1.Hide
    End Sub


    12. 启动窗体的时候自动使 Label1 显示 Sheet1 工作表 3 列 ,8 行的内容
    Private Sub UserForm_Activate()
    Label1.Caption = Sheets("sheet1").Cells(3, 8)
    End Sub


    13. 让按纽 CommandButton1 在窗体上以不可用状态显示
    CommandButton1.Enabled = False


    14. 让按纽 Commandbutton1 在窗体上以隐藏方式存在
    CommandButton10.Visible = False


    15. 点击 Commandbutton1 按纽进入 ” 工资 ” 工作表
    Sheets(" 工资 ").Select


    16. 在 Textbox1 中输入数据 , 窗体可显示出 ” 工资 ” 工作表中与输入内容关联的项
    Private Sub TextBox1_Change()
     For X = 1 To Application.CountA(Sheets(" 工资 ").Range("a:a"))
    If Sheets(" 工资 ").Cells(X, 1) = TextBox1.Text Then ’ 在工资表第一列查找与 Textbox1 输入相符的项
        Label2.Caption = Sheets(" 工资 ").Cells(X, 2) ’ 在 Label2 中显示 Textbox1 数据所在的第二列的数据
        Label7.Caption = Sheets(" 工资 ").Cells(X, 3) ’ 在 Label2 中显示 Textbox1 数据所在的第三列的数据 End If
       Next
    End Sub


    17. 使 EXCEL 启动的时候自动最小化 / 最大化
    Private Sub Workbook_Open()
    Application.WindowState = xlMinimized ’ 最小化
    Application.WindowState = xlMaximized ’ 最大化
    End Sub


    18. 在 Label25 以数字的形式显示 TextBox12 × Label14 的结果
    Label25.Caption = Val(TextBox12.Text) * Val(Label14.Caption)


    19. 单选按纽名与 Sheet6 工作表名相同
    OptionButton6.Caption = Sheet6.Name


    20.” 登陆 ” 窗体的显示 , 隐藏
    登陆 .Show ’ 显示
    登陆 .Hide ’ 隐藏

    21. 使窗体的标题栏不显示
    (1) 插入类模块 ” CFormChanger” 代码如下 :
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
    Private Const GWL_STYLE As Long = (-16)
    Private Const WS_CAPTION As Long = &HC00000
    Dim hWndForm As Long
    ……………………………………………………………………………………………………………..
    Public Property Set Form(oForm As Object) '29
        If Val(Application.Version) < 9 Then
            hWndForm = FindWindow("ThunderXFrame", oForm.Caption)
        Else
            hWndForm = FindWindow("ThunderDFrame", oForm.Caption)
        End If
        SetFormStyle
    End Property
    ……………………………………………………………………………………………………………….
    Private Sub SetFormStyle()
    Dim iStyle As Long, hMenu As Long, hID As Long, iItems As Integer
        iStyle = GetWindowLong(hWndForm, GWL_STYLE)
        iStyle = iStyle And Not WS_CAPTION
        iStyle = iStyle Or WS_THICKFRAME
        SetWindowLong hWndForm, GWL_STYLE, iStyle
        DrawMenuBar hWndForm
    End Sub
    (2) 在所在窗体代码里声明
    Dim oFormChanger As New CFormChanger
    (3). 在窗体的 Activate 事件中插入代码
    Set oFormChanger.Form = Me
    Me.SpecialEffect = fmspecia1EffectRaised

    以上三步每一步都不可缺少 , 否则不能完成 .

    22. 单击某单元格 , 该单元格所在的行与列都以蓝色背景填充
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      If Target.Row >= 2 Then ’ 第二行以下的所有列
         On Error Resume Next
         [ChangColor_With2].FormatConditions.Delete
         [ChangColor_With3].FormatConditions.Delete
         Target.EntireRow.Name = "ChangColor_With2"
         Target.EntireColumn.Name = "ChangColor_With3"
         With [ChangColor_With2].FormatConditions
          .Delete
          .Add xlExpression, , "TRUE"
          .Item(1).Interior.ColorIndex = 5
         End With
         With [ChangColor_With3].FormatConditions
          .Delete
          .Add xlExpression, , "TRUE"
          .Item(1).Interior.ColorIndex = 5
         End With
      End If
    End Sub


    23. 显示动态时间
    ( 1 )插入窗体 Userform1 及 Label1 并在窗体声明中插入
    Option Explicit
    Public nextRun As Date
    ( 2 )在窗体 Activate 事件中插入
    Showtime
    ( 3 )在窗体 QueryClose 事件中插入
    Application.OnTime nextRun, "showtime", schedule:=False
    ( 4 )插入模块 Module1 并输入
        Option Explicit
    Sub showtime()
    UserForm1.Label1 = Now
    UserForm1.Repaint
    DoEvents
    UserForm1.nextRun = Now + 1 / 86400
    Application.OnTime UserForm1.nextRun, "showtime"
    End Sub


    24. 加载 Combobox1 选项
    ComboBox1.AddItem " 收入型 "
    ComboBox1.Additem “ 支出型 ”


    25. 使 Textbox1 自动程输入状态显示 ( 有光标闪动 )
    TextBox1.SetFocus


    26. 打开 C 盘目录
    Shell "explorer.exe  C:\", 1
     

    展开全文
  • VBA编程示例集代码.zip

    2020-08-04 11:32:24
    VBA编程示例集代码
  • 常用的一些vba代码

    千次阅读 2021-03-23 23:37:25
    lie) = Rnd() Next lie Next hang '数组赋值给单元格区域 Sheet1.Range(Cells(1, 1), Cells(50000, 20)) = shuzu End Sub 下面的代码是没有优化的代码,功能与上面一样(执行时间非常长) Sub suiji2() Dim hang As...

    数组赋值给单元格区域

    Sub suijishu() '随机数
        Dim shuzu(1 To 50000, 1 To 20) As Variant '定义数组,注意是从1开始的
        
        Dim hang As Long
        Dim lie As Long
        
        Randomize
        For hang = 1 To 50000
            For lie = 1 To 20
                shuzu(hang, lie) = Rnd()
                
            Next lie
        Next hang
        
        '数组赋值给单元格区域
        Sheet1.Range(Cells(1, 1), Cells(50000, 20)) = shuzu
        
    End Sub

    下面的代码是没有优化的代码,功能与上面一样(执行时间非常长)

    Sub suiji2()
        Dim hang As Long
        Dim lie As Long
        Randomize
        For hang = 1 To 50000
            For lie = 1 To 20
                Sheet2.Cells(hang, lie) = Rnd()
                
            Next lie
        Next hang
        
    End Sub

    即便是前后增加关闭显示,效率提升也很有限。

    运行时间

    详细代码如下

    
    Sub suiji3()
        Dim time1 As Single
        Dim time2 As Single
        
        time1 = Timer
        
        
        Dim hang As Long
        Dim lie As Long
        Randomize
        For hang = 1 To 50000
            For lie = 1 To 20
                Sheet2.Cells(hang, lie) = Rnd()
                
            Next lie
        Next hang
        
        
        time2 = Timer
        Dim timecha As Single
        timecha = (time2 - time1)
        
        MsgBox "运行时间" & timecha & "秒"
        
        
    End Sub
    

    另外的一段代码

    对内容进行处理之后再赋值到相应的表格

    参考代码如下

    ’参考代码https://blog.csdn.net/iamlaosong/article/details/46878321
    Sub fuzhi() '大数据复制
        Dim shuzu() ' As Variant
        shuzu = Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(50000, 20)).Value
        'shuzu = Sheet1.Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(50000, 20)).Value  '注意此句无法通过
        
        Dim shuzu2(1 To 50000, 1 To 20) As Variant '定义数组,注意是从1开始的
        Dim hang As Long
        Dim lie As Long
        '此循环内可以添加相应的计算
        For hang = 1 To 50000
            For lie = 1 To 20
                shuzu2(hang, lie) = shuzu(hang, lie)
            Next lie
        Next hang
        
        '数组赋值给单元格区域
        Sheets(3).Range(Cells(1, 1), Cells(50000, 20)) = shuzu2
        
    End Sub
    

    大数据分拣

    
    Sub fuzhi() '大数据复制
    
        
        Const DEF_CGQSL As Long = 14    '定义 传感器数量
        Const DEF_TiaoM As Long = 35000  '定义 处理条目
        
        
        Dim DEF_BiaoGZHS As Long
        DEF_BiaoGZHS = 1 + DEF_CGQSL * DEF_TiaoM
        
        Dim shuzu()  As Variant
        shuzu = Sheets(1).Range(Sheets(1).Cells(2, 1), Sheets(1).Cells(DEF_BiaoGZHS, 26)).Value
        
        Dim i As Long
        Dim hang As Long
        Dim book2hang As Long
        book2hang = 1
        
        Dim Low1 As Long
        Dim Up1 As Long
        Low1 = LBound(shuzu, 1) '1
        Up1 = UBound(shuzu, 1) 'hang
        Dim Low2 As Long
        Dim Up2 As Long
        Low2 = LBound(shuzu, 2) '1
        Up2 = UBound(shuzu, 2) '26
        
    
        Dim shuzu2(1 To DEF_TiaoM + 1, 1 To 26 * DEF_CGQSL) As Variant '定义数组,注意是从1开始的
    '
            Dim cgq As Long
            For cgq = 1 To DEF_CGQSL
                book2hang = 1
                For hang = cgq To DEF_BiaoGZHS Step DEF_CGQSL
                    For i = 1 To 26
                        'If (hang > 149950) Then Debug.Print hang
                        If hang <= DEF_BiaoGZHS And book2hang < DEF_TiaoM Then
                            shuzu2(book2hang, i + (cgq - 1) * 26) = shuzu(hang, i)
                        End If
                    Next i
                    book2hang = book2hang + 1
               Next hang
            Next cgq
    '
        book2hang = 1
        '数组赋值给单元格区域
        Sheets(2).Range(Cells(1, 1), Cells(DEF_TiaoM + 1, 26 * DEF_CGQSL)) = shuzu2
    
    End Sub

     删除空行

    sub  删除空行()
         Sheets(1).Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    end sub

    anlog  2021年3月24日00点46分

    特此记录

    展开全文
  • WPS表格宏代码开发利用ExcelVBA开发案例做为有益参考.
  • VBA编程练习题 1、假定有以下循环结构 Do Until 条件 循环体 Loop 则正确的叙述是 A)如果“条件”值为0,则一次循环体也不执行 B)如果“条件”值为0,则至少执行一次循环体 C)如果“条件”值不为0,则至少执行一...
  • vba代码大全,大量的应用实例,WORD形式,粘贴在VBA上就可以测试了。vba代码大全,大量的应用实例,WORD形式,粘贴在VBA上就可以测试了。vba代码大全,,粘贴在VBA上就可以测试了。
  • 帮助编程VBA程序,更好的完成编程,对代码可以检查,快速检查代码
  • ExcelVBA编程实战宝典

    2019-07-19 14:32:49
    本书在介绍通过VBA操作Excel对象的基础上,使用了大量篇幅介绍使用VBA操作这些新增对象的方法。本书内容全面,讲解由浅入深,每个知识点以实例代码进行介绍,使读者可以快速入门。另外,本书专门提供了大量的配套...
  • EXCEL VBA编程 单位荣誉证书(支持批量打印)模板
  • 《 ExcelVBA 编程入门范例》主要是以一些基础而简短的 VBA 实例来对 ExcelV BA 中的常用对象及其属性和方法进行讲解, 包括应用程序对象、 窗口、 工作簿、 工作表、 单元格和单元格区域、 图表、 数据透视表、 形状...
  • word——VBA编程

    万次阅读 2019-08-23 14:03:54
    一个一个手动操作真的太low了,所以研究了一下word的宏,VBA编写代码,批量操作。 Sub 批量操作WORD() Dim path As String Dim FileName As String Dim worddoc As Document Dim MyDir As String MyDir = "...
  • ExcelVBA编程实例(150例)

    2018-10-06 19:00:53
    ExcelVBA编程实例(150例)
  • VBA程序设计基础教程

    2018-08-07 14:04:56
    VBA语言基础,VISUAL BASIC程序设计网络教学 ,学习控件
  • 摘 要:微软Office中的VBA编程功能可以将办公操作自动化。由于现代翻译中绝大多数原文和译文都用办公软件呈现,而且现代翻译中译前和译后的编辑工作基本上都可以在office软件中完成,因此VBA编程可以将翻译实践中的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,385
精华内容 4,154
关键字:

vba编程代码大全