vba里面这些代码是什么意思?

Sub ss()

h = Sheet1.Cells(Rows.Count, "a").End(xlUp).Row

组数 = Application.WorksheetFunction.RoundUp(h / 16, 0)

For i = 1 To 组数

If i > 1 Then

ha = Sheet2.Cells(Rows.Count, "a").End(xlUp).Row + 1

Sheet2.Rows("1:4").Copy Sheet2.Rows(ha)

hb = Sheet2.Cells(Rows.Count, "a").End(xlUp).Row + 1

Sheet1.Rows(i * 16 - 15 & ":" & i * 16).Copy Sheet2.Rows(hb)

Else

ha = Sheet2.Cells(Rows.Count, "a").End(xlUp).Row + 1

Sheet1.Rows(i * 16 - 15 & ":" & i * 16).Copy Sheet2.Rows(ha)

End If

Next

End Sub

(1) Option Explicit
解释:强制对模块内所有变量进行声明
(2) Option Base 1
解释:指定数组的第一个下标为1
(3) On Error Resume Next
解释:忽略错误继续执行VBA代码,避免出现错误消息
第 1 页
编程简单 AGV/AMR 3步建
(4) On Error GoTo 100
解释:当错误发生时跳转到过程中的某个位置
(5) On Error GoTo 0
解释:恢复正常的错误提示
(6) Application.DisplayAlerts=False
解释:在程序执行过程中使出现的警告框不显示
(7) Application.DisplayAlerts
第 2 页
=True
解释:在程序执行过程中恢复显示警告框
(8) Application.ScreenUpdating=False
解释:关闭屏幕刷新
(9) Application.ScreenUpdating = True
解释:打开屏幕刷新
第 3 页
(10) Workbooks.Add()
解释:创建一个新的工作簿
(11) Workbooks(“book1.xls”).Activate
解释:激活名为book1的工作簿
(12) ThisWorkbook.Save
解释:保存工作簿
(13) ThisWorkbook.close
解释:关闭当前工作簿
第 4 页
(14) ActiveWorkbook.Sheets.Count
解释:获取活动工作薄中工作表数
(15) ActiveWorkbook.name
解释:返回活动工作薄的名称
(16) ThisWorkbook.Name
解释:返回当前工作簿名称
(17) ThisWorkbook.FullName
第 5 页
解释:返回当前工作簿路径和名
(18) ActiveSheet.UsedRange.Rows.Count
解释:当前工作表中已使用的行数
(19) Rows.Count
第 6 页
解释:获取工作表的行数
(20) Sheets(Sheet1).Name= “Sum”
解释:将Sheet1命名为Sum
(21) ThisWorkbook.Sheets.Add Before:=
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-10-07
不是高手,但是写一般的VBA代码没问题。这个代码是响应一个选择事件。
之前有设置保护工作表吧。现在好像注释了。
现在主要是响应一个区域内,如果选中其中的一个单元格,则这个单元格所在的行和列填充色改变。
如果需要写代码,或者交流学习,可以关注,也可以直接向我提问,或者私信。
相似回答