Worksheet对象之应用基础(worksheetfunction.sum)
zhezhongyun 2025-06-29 22:02 3 浏览
Worksheet对象代表Excel工作表,Worksheets集合对象代表Excel工作表的集合。下面,我们来探讨Worksheet对象和Worksheets集合的一些属性和方法的应用。
Worksheet(s)对象应用基础
[应用1]激活工作表(Activate方法)
使用Activate方法来激活某工作表,例如:
ThisWorkbook.Worksheets("Sheet1").Activate
上述代码使得含有该代码的工作簿中工作表Sheet1成为活动工作表。
[应用2]增加工作表(Add方法)
使用Worksheets对象的Add方法增加工作表,其语法为:Worksheets.Add(Before,After,Count,Type)
其中,参数Before指定一个工作表,新增的工作表将放置在该工作表之前。参数After指定一个工作表,新增的工作表将放置在该工作表之后。这两个参数不能同时使用。若两个参数都没有使用,则新增的工作表会放置在当前工作表之前。
参 数Count指定增加的工作表数目,默认值为1。参数Type指定增加的工作表类型,为XlSheetType常量之一:xlWorksheet、 xlChart、xlExcel4MacroSheet或xlExcel4IntlMacroSheet,默认值为标准工作表 (xlWorksheet)。如果希望基于现有模板插入工作表,则指定该模板的路径。
[应用3]复制工作表(Copy方法)
使用Copy方法复制指定的工作表,其语法为:
工作表对象.Copy(Before,After)
其中,参数Before和After均可选,用来指定所复制的工作表放置的位置,但不能同时使用这两个参数。使用参数Before将所复制的工作表放置在该参数指定的工作表之前,同理,使用参数After将所复制的工作表放置在该参数指定的工作表之后。
例如,下面的代码复制当前工作表,并将其放置在所有工作表的末尾:
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
如果没有指定参数,那么Excel将新建一个工作簿,该工作簿包含所复制的工作表。
[应用4]移动工作表(Move方法)
使用Move方法将工作表移动到工作簿的指定位置,其语法为:
工作表对象.Move(Before,After)
其语法与Copy方法相同。例如,下面的代码将工作表Sheet1移到工作表Sheet3的后面:
Worksheets("Sheet1").Move After:=Worksheets("Sheet3")
[应用5]获取或者设置工作表名称(Name属性)
可以使用Name属性返回指定工作表的名称,也可以设置指定工作表的名称,例如,下面的代码将工作表Sheet1重命名为“示例”:
Worksheets("Sheet1").Name = "示例"
下面的过程使用用户输入的名称重命名当前工作表:
Sub ReNameSheet()
Dim xStr As String
Retry:
Err.Clear
xStr = InputBox("请输入工作表的新名称:" _
, "重命名工作表", ActiveSheet.Name)
If xStr = "" Then Exit Sub
On Error Resume Next
ActiveSheet.Name = xStr
If Err.Number <> 0 Then
MsgBox Err.Number & " " & Err.Description
Err.Clear
GoTo Retry
End If
On Error GoTo 0
'.........
End Sub
[应用6]使用工作表代码名称(CodeName属性)
工作表对象的CodeName属性返回工作表代码名称,其语法为:
工作表对象.CodeName
能够在属性窗口中设置工作表代码名称。假设我们在属性窗口将工作表Sheet1的代码名称设置为Sheet1CodeName,那么下面的两句代码是等价的:
Worksheets("Sheet1").Activate
Sheet1CodeName.Activate
当我们第一次创建工作表时,工作表名称和代码名称是相同的,然而两个名称可以各自单独修改,但是工作表代码名称仅能在设计时修改而不能在运行时修改。
[应用7]删除工作表(Delete方法)
使用Delete方法删除指定的工作表,其语法为:
工作表对象.Delete
例如,下面的语句删除工作簿中名为“示例”的工作表:
Worksheets("示例").Delete
默认情况下,在删除工作表时会显示一个对话框。此时,Delete方法返回一个布尔值,如果用户单击“取消”则返回False,单击“删除”则返回True。
[应用8]选择工作表(Select方法)
可以使用Select方法选择工作表。与Activate方法不同,使用Select方法可以同时选择多个工作表,例如下面的代码同时选择当前工作表以及索引值为1和2的工作表:
Worksheets(1).Select (False)
Worksheets(2).Select (False)
其语法为:
工作表对象.Select(Replace)
其中,参数Replace可选,设置为True时使用指定的工作表的选区代替当前选择,设置False时扩展当前所选内容以包括以前选择的对象和指定的对象。
[应用9]选择工作表(Previous属性和Next属性)
使用工作表对象的Previous属性选择指定工作表之前的工作表,例如:
Sub PreviousSheet()
If ActiveSheet.Index <> 1 Then
MsgBox "选取当前工作簿中当前工作表的前一个工作表"
ActiveSheet.Previous.Activate
Else
MsgBox "已到第一个工作表"
End If
End Sub
如果当前工作表是第一个工作表,则使用Previous属性会出错。
使用工作表对象的Next属性选择指定工作表之后的工作表,例如:
Sub NextSheet()
If ActiveSheet.Index <> Worksheets.Count Then
MsgBox "选取当前工作簿中当前工作表的下一个工作表"
ActiveSheet.Next.Activate
Else
MsgBox "已到最后一个工作表"
End If
End Sub
如果当前工作表是最后一个工作表,则使用Next属性会出错。
[应用10]获取工作表数(Count属性)
使用集合对象的Count属性来获取工作簿中工作表的数目。例如下面的两段代码:
Sub WorksheetNum()
Dim i As Long
i = Worksheets.Count
MsgBox "当前工作簿的工作表数为:" & Chr(10) & i
End Sub
Sub WorksheetNum()
Dim i As Long
i = Sheets.Count
MsgBox "当前工作簿的工作表数为:" & Chr(10) & i
End Sub
在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原因是对于Sheets集合来讲,工作表包含图表工作表。应注意Worksheets集合与Sheets集合的区别。
[应用11]保存工作表(SaveAs方法)
使用SaveAs方法将更改后的工作表保存到另一个文件中,其语法为:
工作表对象.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodepage, TextVisualLayout, Local)
其中,参数FileName用来指定用来保存文件的路径及文件名,若没有包括路径,则保存在 当前文件夹中。参数FileFormat指定所保存的文件格式,为XlFileFormat常量之一。参数Password指定在保存文件时用于保护文件 的密码,最大可以达到15个字符,区分大小写。参数WriteResPassword指定文件的写保护密码,如果打开文件时没有输入写保护密码,那么该文 件将只读。如果将参数ReadOnlyRecommended设置为True,那么在打开文件时显示一条消息,提示该文件以只读方式打开。将参数 CreateBackup设置为True,创建备份文件。将参数AddToMru设置为True,添加工作簿到最近使用的文件列表中,默认为False。
[应用12]隐藏工作表(Visible属性)
可以通过将工作表对象的Visible属性设置为True或False,来控制该工作表是否可见。例如,下面的代码隐藏工作表Sheet1:
Worksheets("Sheet1").Visible = False
当然,也可以将Visible属性设置为XlSheetVisibility 值:xlSheetVisible、xlSheetHidden、xlSheetVeryHidden,来控制工作表是否可见。其 中,xlSheetVisible表示显示工作表,xlSheetHidden表示隐藏工作表,但可以通过菜单命令显示工作 表,xlSheetVeryHidden表示隐藏工作表,只能通过代码将Visible属性设置为True来显示工作表,此时用户无法使工作表可见。
下面的代码新建一张工作表,然后将其Visible属性设为xlVeryHidden。要引用该工作表,可使用其对象变量newSheet。
Set NewSheet = Worksheets.Add
NewSheet.Visible = xlVeryHidden
NewSheet.Range("A1:D4").Formula = "=RAND()"
下面的代码取消隐藏工作簿中所有工作表。
Sub UnhideAllWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
Set ws = Nothing
End Sub
[应用13]保护工作表(Protect方法)
使用Protect方法保护工作表,以防止被修改。其语法为:
工作表对象.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
其中,参数Password指定用于保护工作表的密码,区分大小写。设置参数 DrawingObjects为True以保护形状,默认值为False。设置参数Contents为True,以保护内容,对于图表则会保护整个图表, 对于工作表则会保护锁定的单元格,默认值是True。参数Scenarios设置为True以保护方案,此参数仅对工作表有效,默认值是True。
Protect 方法允许单独保护单元格以免被用户和代码修改。特别地,如果参数UserInterfaceOnly设置为True,那么用户不能修改工作表,但能够通过 代码修改。相反,如果参数UserInterfaceOnly设置为False(默认值),那么用户和代码都不能修改工作表。
注意,当保护工作表 时,如果参数UserInterfaceOnly设置为True,然后又保存工作簿,那么再次打开该工作簿时,整张工作表将被完全保护,而不仅仅保护用户 界面。要在打开工作簿后重新启用用户界面保护,必须再次将UserInterfaceOnly参数设为True并应用Protect方法。
[应用14]是否仅启用用户界面保护(ProtectionMode)
如果开启了用户界面保护,则ProtectionMode属性返回True。默认值为False。
[应用15]取消密码保护(Unprotect方法)
使用Unprotect方法取消工作表的密码保护,如果工作表没有密码保护则无效。其语法为:
工作表对象.Unprotect(Password)
其中,参数Password代表用来保护工作表的密码。如果工作表有密码保护,而我们忽略此参数,那么Excel将提示用户输入密码。
[示例1]设置密码保护工作表
Sub ProtectSheet()
MsgBox "保护当前工作表并设定密码"
ActiveSheet.Protect Password:="fanjy"
End Sub
运行上述代码后,当前工作表中将不允许编辑,除非撤销工作表保护。
[示例2]撤销工作表保护
Sub UnprotectSheet()
MsgBox "撤销当前工作表保护"
ActiveSheet.Unprotect
End Sub
运行上述代码后,如果原保护的工作表设置有密码,则要求输入密码。
[示例3]保护当前工作簿中的所有工作表
Sub ProtectAllWorkSheets()
On Error Resume Next
Dim ws As Worksheet
Dim myPassword As String
myPassword = InputBox("请输入您的密码" & vbCrLf & _
"(不输入表明无密码)" & vbCrLf & vbCrLf & _
"确保您没有忘记密码!", "输入密码")
For Each ws In ThisWorkbook.Worksheets
ws.Protect (myPassword)
Next ws
End Sub
[示例4]撤销对当前工作簿中所有工作表的保护
Sub UnprotectAllWorkSheets()
On Error Resume Next
Dim ws As Worksheet
Dim myPassword As String
myPassword = InputBox("请输入您的密码" & vbCrLf & _
"(不输入表示无密码)", "输入密码")
For Each ws In ThisWorkbook.Worksheets
ws.Unprotect (myPassword)
Next ws
End Sub
[示例5]仅能编辑未锁定的单元格
Sub OnlyEditUnlockedCells()
Sheets("Sheet1").EnableSelection = xlUnlockedCells
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
运行上述代码后,在当前工作表中将只能对未锁定的单元格进行编辑,而其它单元格将不能编辑。未锁定的单元格是指在选择菜单“格式——单元格”命令后在弹出的对话框中的“保护”选项卡中,未选中“锁定”复选框的单元格或单元格区域。
[应用16]打印预览工作表(PrintPreview方法)
使用PrintPreview方法完成打印预览功能,即按对象打印后的外观效果显示对象的预览。其语法为:
工作表对象.PrintPreview(EnableChanges)
其中,参数EnableChanges指定用户是否可更改边距和打印预览中可用的其他页面设置选项。
[应用17]打印工作表(Print方法)
使用Print方法打印工作表,其语法为:
工作表对象.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
其中,参数From指定打印的第一页的页码,参数To指定打印的最后一页的页码,如果忽略则 打印完整的对象。参数Copies指定打印的份数,默认值为1。参数Preview为True,Excel将在打印对象之前调用打印预览,如果为 False(默认值),则立即打印对象。参数ActivePrinter设置活动打印机的名称。如果设置参数PrintToFile为True,则打印到 文件,此时如果没有指定参数PrToFileName,Excel将提示用户输入要使用的输出文件的文件名。参数Collate设置为True,逐份打印 多份副本。参数IgnorePrintAreas设置为True,则忽略打印区域并打印整个对象。
[应用18]显示数据记录单(ShowDataForm方法)
使用ShowDataForm方法显示与指定工作表相关联的数据记录单,其语法为:
工作表对象.ShowDataForm
注意,宏执行到显示数据记录单语句时运行会暂停。关闭数据记录单后,宏将从ShowDataForm方法的下一语句开始继续执行。如果存在自定义数据记录单,则本方法将运行此记录单。
在Excel 2007的功能区中并没有显示记录单命令,该命令被隐藏,因此可以使用ShowDataForm方法调出记录单。
[应用19]获取工作表中已使用的区域(UsedRange属性)
使用工作表对象的UsedRange属性返回工作表中已使用的区域。该属性返回Range对象,代表当前已使用的单元格组成的矩形区域,是非常有用的属性。其语法为:
工作表对象.UsedRange
注意,有时虽然彻底清除了某单元格,但该属性仍返回包含该单元格的区域。
[应用20]在工作表中粘贴内容(PasteSpecial方法)
使用PasteSpecial方法以指定格式将剪贴板中的内容粘贴到工作表上。可使用本方法从其他应用程序中粘贴数据,或以特定格式粘贴数据。其语法为:
工作表对象.PasteSpecial(Format, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, NoHTMLFormatting)
经常使用的语法为:
工作表对象.PasteSpecial(Format)
其中,参数Format指定要粘贴的数据格式的字符串。
例如,下面的代码将剪贴板中的Microsoft Word文档对象粘贴到工作表Sheet1上的单元格D1中:
Worksheets("Sheet1").Range("D1").Select
ActiveSheet.PasteSpecial Format:= _
"Microsoft Word 12.0 Document Object"
注意,在使用PastSpecial方法之前,必须选择目标区域。该方法可能会修改工作表的选定区域。
[应用21]计算工作表(Calculate方法)
可以使用Calculate方法计算指定的工作表、工作表中的单元格区域或者整个工作簿。例如,下面的代码计算工作簿中的第一张工作表:
Worksheets(1).Calculate
[应用22]重新计算工作表(EnableCalculation属性)
当EnableCalculation属性设置为True时,在必要情况下Excel自动重新计算工作表。否则,必须请求重新计算。
当该属性第一次被设置为True时,Excel将重新计算工作表。
[应用23]控制自动筛选下拉箭头(AutoFilterMode属性)
如果当前在工作表中显示自动筛选下拉箭头,则AutoFilterMode属性为True。我们可以将该属性设置为False,移除箭头。然而,不能将该属性设置为True。要显示自动筛选下拉箭头,使用AutoFilter方法。
[应用24]工作表是否处于筛选模式(FilterMode属性)
如 果工作表处于筛选模式,则FilterMode属性为True。因此,如果显示了自动筛选下拉箭头但没有发生筛选,那么AutoFilterMode属性 为True而FilterMode属性为False。一旦实际上执行了筛选,那么FilterMode属性就为True。FilterMode属性指明是 否由于筛选而隐藏了行。
[应用25]转换名称(Evaluate方法)
使用工作表对象的Evaluate方法将名称转换为对象或值。
[应用26]设置工作表滚动区域(ScrollArea属性)
使用ScrollArea属性返回或者设置允许滚动的区域,用户不能选择滚动区域之外的区域。设置时,必须为A1样式的单元格引用。例如,下面的代码将单元格区域A1:C50设置为允许滚动区域,仅能够在单元格区域A1:C50范围内滚动或选择单元格:
Worksheets(1).ScrollArea = "A1:C50"
要移除单元格滚动或选择的限制,只须将该属性的值设置为空,例如:
Worksheets(1).ScrollArea = ""
注意,设置滚动区域与冻结窗格无关。
[应用27]为工作表设置背景(SetBackgroundPicture方法)
使用SetBackgroundPicture方法为工作表设置背景图片,其语法为:
工作表对象.SetBackgroundPicture(FileName)
其中,参数FileName为用于背景的图片路径和名称。例如,下面的代码为第一张工作表设置背景图片:
Worksheets(1).SetBackgroundPicture "c:\graphics\watermark.gif"
相关推荐
- Win10全新版本速览 全新图标设计焕然一新
-
来源:太平洋电脑网[PConline资讯]原定于今年下半年发布的Win1021H2(SunValley),再有几个月就要与我们见面了。之前我们已经陆续介绍过新版在开始菜单、窗口动效、通知中心等方...
- 第四周B组最佳选手Icon:陨落天团的小将,还是重生星球的偶像?
-
B组本来被认为是死亡之组,但在上周的异组对抗赛中,实力较强的几只队伍却先后被A组击沉,反而是之前一分难求的OMG2:1战胜了IG,其中Icon功不可没,两次秀翻全场的妖姬和与Juejue中野联动的实力...
- 系统小技巧:不花一分钱 让声音再大些
-
有时,笔记本扬声器的音量可能无法满足我们对声音播放的需求。点击系统托盘的小喇叭图标,音量调节滑动条调整到最大也无效,而添置大功率扬声器又不是我们所愿。这时,可通过调整系统本身的设置或利用第三方软件来解...
- DNF手游:70级毕业搭配曝光!需集齐四类装备,别指望无形升级了
-
随着dnf手游7.16版本的临近,各种70级装备的消息满天飞,真真假假难以辨别,但只要以“发布会爆料”为核心,主播十四的爆料为辅,就能确定70版本的毕业标准搭配,查理策划是打算“集百家之长”于一身,完...
- 学会这5个电脑设置 可解决99%的故障
-
现阶段复工大家都是宅家办公吧,所以电脑可谓是大救星,因为无论是“停课不停学”的网课,还是在家办公的穷社畜,都离不开电脑。所以今天小编就来教大家几招电脑的自救方法,让你可以在电脑出问题时从容面对,足不出...
- LOL:上单腕豪的取胜之道——掌控自身优势,融合装备特效
-
01前言腕豪这个英雄,在11.9版本之前都没有太多的出场机会,即使出现也大多是在辅助位置上,充当开团、先手控制的角色。但是在11.9版本以后,这个英雄突然之间仿佛飞升了一般,直接冲上T1级别上单,之前...
- 英雄联盟手游:一篇文章读懂所有龙buff属性效果,还不赶紧收藏
-
英雄联盟手游采用也是经典峡谷地图,看起来和端游并没有太大差异,但实际上为了适应手游节奏,官方也是进行了适当调整,所以包括红蓝buff,大龙小龙buff效果会有一定的差异,现在就来看看小龙和大龙具体属性...
- 双击打不开怎么办?双击文件夹显示属性的解决办法
-
今天小编在双击文件夹的时候,就是打不开,还弹出“属性”对话框,不知道大家有没有出现过,为避免出现这种情况时大家束手无策,今天小编就来为大家分享一下解决方法。1.检查键盘,看看“Alt”键是否卡住。由于...
- 柜子布局好超省空间,1㎡当10㎡用,收纳涨5倍!户型图直接抄
-
柜子不嫌多,就怕你家放不下!▼每个空间几乎都需要柜子客厅要有电视柜,卧室要能放下全家四季的衣柜,厨房还需要大容量的橱柜空间就这么小,想要榨出放柜子的地方,还要活得不拥挤简直太难了!其实全是你找错地方打...
- 制作幻灯片的另类方法(然后制作幻灯片)
-
如果提到制作幻灯片,很多人都会想到PowerPoint。PowerPoint提供了很多模板,但这些模板实用性并不太高;PowerPoint的交互还算比较方便,但不可否认,交互显得有些呆板,而且要想修改...
- 《心灵杀手重制版》画面晃动怎么办?画面晃动解决办法
-
针对《心灵杀手重制版》画面晃动的问题,以下是一些解决办法:修改游戏启动路径:打开游戏所在的文件夹,找到游戏图标的属性并打开。在属性中修改启动路径,加入“-noblur”参数。例如,如果游戏安装在“X:...
- win10网络图标是小地球怎么办(excel表格怎样选定区域打印)
-
win10系统右下角的网络图标突然变成地球图标,而且无法上网,提示无法连接到Internet。出现这个问题多数是因为win10正式版更新了或者是网络中断后遗症。那么win10网络图标变成地球怎么办呢?...
- 重看电脑任务栏的使用方法:windows 10小贴士
-
【环球科技综合报道】据日本Livedoor新闻网2月18日报道,windows电脑的屏幕下方配置的任务栏由于总是在电脑桌面上显示,可以说是一个映入眼帘的机会格外多的区域。像是把经常使用的软件图标设置在...
- 《地狱之门》攻略:四大元素属性介绍
-
《地狱之门》是近期比较看好的一款卡牌手游,绚丽的3D游戏画面以及创新的即时战斗系统给人耳目一新的感觉,非常值得一试。玩家不仅可以体验到卡牌收集的乐趣,更主要的是能体验到酣畅淋漓的战斗体验。下面小编就来...
- 一脸懵?DNF希洛克词条赋予属性触发条件解析
-
DNF希洛克已经开放两天,但是还是看到不少小伙伴对于希洛克词条赋予系统充满疑惑。今天就来简单易懂的给大家科普一下希洛克词条赋予系统里的弯弯绕绕。◎希洛克装备融合在希洛克获取了专属史诗之后,即可通过歌兰...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML常用标签 (29)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)