玖叶教程网

前端编程开发入门

VBA|使用工作表对象Worksheet操作和管理工作表

Worksheet对象表示Excel工作表,可通过Workbooks集合对象和Worksheet对象的属性、方法和事件对工作表进行操作和管理。

1 使用工作表集合对象Worksheets管理工作表

1.1 用Add方法新增工作表

Sub 新增工作表()

Excel VBA 如何对我们已经录入的数据进行自动保护

如果希望录入的数据能够被保护,不被删改。可用程序自动将单元格锁定。

首先,选择单元格区域,按 Ctrl+1 ,打开单元格格式对话框,取消单元格的“锁定”。

然后右键点击工作表标签,选择“查看代码”,将代码粘贴在光标处:

  1. Private Sub Worksheet_Change(ByVal Target As Range)

EXCEL VBA分享(七)用For Each给表格加目录

工作中有时候需要给表格加目录,以便更快捷更直观的进入你想要的工作表,今天分享的代码很短,我尽量把它解释的更简单。

绿色字体是注释

代码演示

For Each是变量在某个集合里面循环,这个集合可以是单元格,可以是工作表,也可以是工作薄,客官可以自行修改代码进行尝试。

工资管理系统,Excel vba 工作表(工资管理系统表格)

工资管理首页


再次设计制作工资管理系统,相对第一个有了些许进步,自动计算方法都进行了优化设计。

从分表录入方式集成到一个Form窗体录入,不仅数据录入方便了许多,而且出错率也降低了。

基本构架图


作者:gojiuye , 分类:技术精选 , 浏览:22 , 评论:0

2024年04月26日

《神奇的VBA》编程:执行速度和效率(1)

外企十年工作,写了很多解决办公效率问题的VBA程序,为了能让程序更加高效的运行,曾经花了大量时间寻找让VBA程序运行得更快的方法和技巧。

本文《神奇的VBA》分享提速VBA程序运行的主要规则。平时在使用小型VBA代码程序时,我们作为普通的职场人(非专业IT编程人士)很容易陷入不良的编程习惯,编写VBA程序代码时,是怎么方便怎么来,怎么简单怎么写。这点对于以解决问题为目标的方式,其实没啥问题。但对于大型的或者运行时间较长的VBA程序,使用高效的编码是至关重要的。本文《神奇的VBA》主要关注Excel VBA的程序,但其中许多规则也适用于微软其它办公软件的VBA脚本程序。

作者:gojiuye , 分类:技术精选 , 浏览:36 , 评论:0

2024年04月26日

EXCEL VBA分享(四)乘法口诀表帮你快速掌握For循环

For循环是EXCEL VBA中最常用的循环语句之一,我们通过生成乘法口诀表来学习这个语句,先来看看结果演示:

是不是很快

代码+注释

作者:gojiuye , 分类:技术精选 , 浏览:17 , 评论:0

2024年04月26日

EXCEL-VBA- For Next嵌套循环2(收藏不看系列)

EXCEL精华,EXCEL教程,必须掌握的职场技巧,没有它,你寸步难行,不要说你不会。

每天分享学习资源(第18天),坐等吐槽,有错请指出纠正。


For Next嵌套循环2

列与行相乘

代码:

Sub 列行相乘()

Dim rng As Range, rng2 As Range

作者:gojiuye , 分类:技术精选 , 浏览:16 , 评论:0

2024年04月26日

Excel VBA|调用有参数过程、select选择或for循环调用过程

直接看代码和注释:

Option Explicit
Sub SortSheets()
' This routine sorts the sheets of the
' active workbook in ascending order.
' Use Ctrl+Shift+S to execute
 Dim SheetNames() As String
 Dim i As Long
 Dim SheetCount As Long
 Dim OldActive As Object
 
 If ActiveWorkbook Is Nothing Then Exit Sub ' No active workbook
 SheetCount = ActiveWorkbook.Sheets.Count
 
' Check for protected workbook structure
 If ActiveWorkbook.ProtectStructure Then
 MsgBox ActiveWorkbook.Name & " is protected.", _
 vbCritical, "Cannot Sort Sheets."
 Exit Sub
 End If
' Make user verify
 If MsgBox("Sort the sheets in the active workbook?", _
 vbQuestion + vbYesNo) <> vbYes Then Exit Sub
' Disable Ctrl+Break
 Application.EnableCancelKey = xlDisabled
 
' Get the number of sheets
 SheetCount = ActiveWorkbook.Sheets.Count
 
' Redimension the array
 ReDim SheetNames(1 To SheetCount)
' Store a reference to the active sheet
 Set OldActive = ActiveSheet
 
' Fill array with sheet names
 For i = 1 To SheetCount
 SheetNames(i) = ActiveWorkbook.Sheets(i).Name
 Next i
 
' Sort the array in ascending order
 Call BubbleSort(SheetNames)
 
' Turn off screen updating
 Application.ScreenUpdating = False
 
' Move the sheets
 For i = 1 To SheetCount
 ActiveWorkbook.Sheets(SheetNames(i)).Move _
 Before:=ActiveWorkbook.Sheets(i)
 Next i
' Reactivate the original active sheet
 OldActive.Activate
 
End Sub
Sub BubbleSort(List() As String)
 Dim First As Long, Last As Long
 Dim i As Long, j As Long
 Dim Temp As String
 First = LBound(List)
 Last = UBound(List)
 For i = First To Last - 1
 For j = i + 1 To Last
 If UCase(List(i)) > UCase(List(j)) Then
 Temp = List(j)
 List(j) = List(i)
 List(i) = Temp
 End If
 Next j
 Next i
End Sub

作者:gojiuye , 分类:技术精选 , 浏览:16 , 评论:0

2024年04月26日

For Each遍历数组真的比For i=L to U要慢么?

前言

作者:gojiuye , 分类:技术精选 , 浏览:18 , 评论:0

2024年04月26日

VBA编程(基于Access)第1课:VBA的作用和学习方法

VBA,英文全称Visual Basic for Applications,直接翻译过来叫做“可以直接使用的VB语言”。

作者:gojiuye , 分类:技术精选 , 浏览:17 , 评论:0

<< < 1 2 3 4 5 6 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言