当前位置:主页 > Office办公 > Excel专区

最新发布

快速保护所有excel工作表或撤消所有工作表保护
快速保护所有excel工作表或撤消所有工作表保护

有时需要让Excel工作簿中的每个工作表只能查看而不被修改,可以对所有的工作表进行保护,如果工作簿中的工作表数量较多,手动逐一操作十分繁琐。在工作表保护密码相同或不设置密码的情况下,用下面的方法可以快速保护所有工作表。1.按Alt+F11,打开VBA编辑器。单击菜单“视图→立即窗口”,或按Ctrl+G打开“立即窗口”。2.在“立即窗口”中输入下列代码,然后将光标定位到语句最后按回车键运行代码:For Each ws In Worksheets : ws.Protect Password:="123" : Next ws 工作簿中所有的工作表即被保护,本例所设置的密码为“123”。如果要撤消所有工作表的保护,只需在立即窗口中输入下面的代码并回车运行:For Each ws In Worksheets : ws.Unprotect Password:="123" : Next ws

248 次浏览
VBA关闭工作簿和退出Excel 代码
VBA关闭工作簿和退出Excel 代码

要用VBA来关闭工作簿,用Workbook.Close 方法即可,而要退出Excel,则用Application.Quit 方法。下面是一些代码示例:关闭活动工作簿,如果工作簿有更改,提示是否保存:Sub CloseWorkbook()ActiveWorkbook.CloseEnd Sub如果要避免出现提示,可添加“SaveChanges”参数,如直接保存并关闭工作簿:Sub ClostAndSaveWorkbook()ActiveWorkbook.Close Savechanges:=TrueEnd Sub将上述代码中的“True”改为“False”,则直接关闭工作簿而不保存。关闭所有打开的工作簿,并提示是否保存:Sub CloseAllWorkbooks()On Error Resume NextWorkbooks.CloseEnd Sub退出Excel,并提示对有更改的工作簿进行保存:Sub QuitExcel()Application.QuitEnd Sub

161 次浏览
Excel VBA设置图表动态数据源实例教程
Excel VBA设置图表动态数据源实例教程

Excel图表的数据源通常为一个连续区域,但有时会遇到图表数据源区域不连续,且需要动态改变的情况。例如下面的某公司人员基本情况汇总表,B列为部门名称,C至S列分别为“性别”、“年龄”、“学历”、“职称”等不同类别数据的汇总,如果将这些数据同时显示在一个图表中,显然不便观察和比较数据,这时可以用VBA来动态改变数据源,单独对各个类别进行显示。 具体的方法是:先在表格中创建一个下拉列表,然后通过下拉列表选择不同的系列,通过VBA代码改变图表数据区域,让图表中的数据随之改变。下面以在Excel 2003中绘制柱形图为例说明如下:1.设置下拉列表。设置下拉列表的方法有很多,这里用数据有效性来设置。选择某个单元格,如T14,单击菜单“数据→有效性→设置→序列”,在“来源”下输入“性别,年龄,学历,职称”(不含引号)后确定,这样就在T14单元格中通过数据有效性设置了一个下拉列表。 2.插入图表。选择B3:D11区域,即“部门”和第一个类别所在区域“性别”,单击菜单“插入→图表→柱形图→簇状柱形图”,单击“完成”插入一个包含“男”、“女”两个系列的柱形图。 3.输入VBA代码。按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码:Private Sub Worksheet_Change(ByVal Target As Range)If Target.Address = "$T$14" ThenDim RngStr As StringSelect Case Target.ValueCase "性别"RngStr = "b3:b11,c3:d11"Case "年龄"RngStr = "b3:b11,e3:i11"Case "学历"RngStr = "b3:b11,j3:n11"Case "职称"RngStr = "b3:b11,o3:s11"End SelectChartObjects("图表 1").Chart.SetSourceData Source:=Range(RngStr)End IfEnd Sub说明:改变T14单元格中的内容时,图表的数据区域随之改变。本例中的图表名称为“图表 1”,需根据实际进行更改。查看图表名称的方法是:

326 次浏览
Excel vba属性方法的区别和理解
Excel vba属性方法的区别和理解

文章介绍excel中vba的属性和方法,以及属性方法的区别。  一个excel工作表具有哪些属性?VBA属性的获取方法,可以通过自动成员列表和帮助查询。  任何对象都有属性,我们在录入代码是,可以看到其属性。如下图,我们输入“worksheets.”后将会看到下拉列表,列表中包含了对应的属性和方法。  从形状上来区别:前面带绿色图标的就是方法,带手形标志的就是属性。   VBA对象的方法,指的是某个对象所能执行的动作。  比如“创建工作表”,创建是动词,表示方法,它有一个动作,每个动作会产生一个可见的结果。工作表是名词,表示对象。  VBA中对象在前,方法在后。  Worksheets.add——worksheets是工作表对象,add是方法,表示新建。

131 次浏览
Excel vba对象介绍和理解
Excel vba对象介绍和理解

文章介绍excelvba对象是什么,包含些什么对象,以及常用VBA对象说明和含义。  VBA中有四个最基本的概念:对象、属性、方法与事件。  工作簿、工作表、单元格、批注、透视表、自选图形、名称等等都是对象,VBA正是用于处理这些对象的语言。第一,excel vba对象基本概念介绍  excel vba对象有很多,每个对象又有自己的属性和方法。  excel vba对象到底是什么呢?VBA是面向对象的一种程序语言。  Excel的操作几乎都是围绕工作簿、工作表、单元格展开的,这些就是Excel操作的核心对象,这些也是VBA的核心对象。  对于Excel来说,最外层的vba对象就是Application,代表整个Excel应用程序。  每个Excel文件,都对应一个Workbook;  文件中的每个Sheet工作表,都对应一个Worksheet;

149 次浏览
excel利用VBA将筛选后的公式批量转换为值
excel利用VBA将筛选后的公式批量转换为值

有时需要在Excel中进行筛选后将公式结果转换为值。通常将公式结果转换为值用选择性粘贴的方法,但该方法无法用于筛选后的结果:如果复制筛选后的区域直在原区域接选择性粘贴,Excel会提示复制区域与粘贴区域形状不同而无法粘贴;如果先选定可见区域(如用快捷键“Alt+;”)后再进行复制粘贴,Excel会提示“不能对多重选定区域使用此命令”。这时可用下面的VBA代码将筛选后的公式批量转换为值。Sub ConvAfterFilter()On Error Resume NextApplication.ScreenUpdating = FalseDim Rng As RangeFor Each Rng In ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)If Rng.HasFormula ThenRng.CopyRng.PasteSpecial xlValuesEnd IfNextApplication.CutCopyMode = FalseApplication.ScreenUpdating = TrueEnd Sub按Alt+F11,打开VBA编辑器,在代码窗口中粘贴上述代码并运行即可。该代码仅将筛选结果中所有的公式结果转换为值,而不会受影响到筛选结果中未包含(隐藏)的单元格区域。

113 次浏览
利用VBA选择并打开多个工作簿文件
利用VBA选择并打开多个工作簿文件

下面的VBA代码先用Application.GetOpenFilename方法显示“打开”文件对话框,然后打开所选择的一个或多个Excel工作簿文件。Sub OpenWorkbooks()On Error Resume NextDim SelectFiles As Variant‘显示打开文件对话框SelectFiles = Application.GetOpenFilename("Excel 文件 (*.xl*)," & "*.xl*", , "打开", , True)‘未选择If TypeName(SelectFiles) = "Boolean" ThenExit SubEnd If‘打开所选工作簿For i = 1 To UBound(SelectFiles)Workbooks.Open SelectFiles(i)Next iEnd Sub

93 次浏览
利用excel VBA删除工作表中的重复行
利用excel VBA删除工作表中的重复行

如果要在Excel中用VBA的方法以根据某列内容删除重复的行,即当某列有重复数据时仅保留一行,可以用下面的VBA代码。假如以A列为参考,工作表的第一行为标题行,数据从第二行开始。方法一:用工作表函数CountIf判断该行是否重复Sub 删除重复行1()Dim i As LongApplication.ScreenUpdating = FalseFor i = Range("A65536").End(xlUp).Row To 3 Step -1If WorksheetFunction.CountIf(Range("A2:A" & i), Cells(i, 1)) > 1 ThenCells(i, 1).EntireRow.deleteEnd IfNextApplication.ScreenUpdating = TrueEnd Sub方法二:先高级筛选,再删除隐藏行Sub 删除重复行2()Dim rCell As Range, rRng As Range, dRng As RangeOn Error Resume NextApplication.ScreenUpdating = FalseSet rRng = Range("A1:A" & Range("A65536").End(xlUp).Row)rRng.AdvancedFilter Action:=xlFilterInPlace, unique:=TrueFor Each rCell In rRngIf rCell.EntireRow.Hidden = True ThenIf dRng Is Nothing ThenSet dRng = rCell.EntireRowElseSet dRng = Application.Union(dRng, rCell.EntireRow)End IfEnd IfNextIf Not dRng Is Nothing Then dRng.deleteActiveSheet.ShowAllDataApplication.ScreenUpdating = TrueEnd Sub

129 次浏览
如何在受保护的excel工作表中使用分级显示
如何在受保护的excel工作表中使用分级显示

Excel中的分级显示(组合)功能可以让表格中的某些数据按组别进行显示或隐藏,十分方便。但在保护工作表后,无法直接使用分级显示。如果既要保护工作表,又要让用户能使用已建立的分级显示,可以用下面的方法。1.先在工作表中建立分级显示。2.按Alt+F11,打开VBA编辑器,在“工程”窗口中双击“ThisWorkbook”,在代码窗口中输入下列代码:Private Sub Workbook_Open()With Worksheets("Sheet1").EnableOutlining = True.Protect Password:="123", userInterfaceOnly:=TrueEnd WithEnd Sub说明:假设工作表名称为“Sheet1”,上述代码对该工作表进行保护,并设置的密码为“123”。如果之前已对工作表设置了密码保护,需确保两处的密码一致。3.根据需要设置VBA保护密码。最后保存工作簿。这样,用户打开受保护的工作表后就可以使用已创建的分级显示了。

285 次浏览
Excel中快速弹出“样式”对话框的设置方法
Excel中快速弹出“样式”对话框的设置方法

用户在使用Excel工作表编辑数据时,。 图1 打开需要设置单元格样式的工作表步骤2:按下Alt+撇号(')组合键,即可快速弹出“样式”对话框,。 图2 弹出“样式”对话框步骤3:在“样式”对话框中“样式名”右侧的输入框下方单击“格式”按钮,。 图3 单击“格式”按钮即可快速弹出“设置单元格格式”对话框,。

125 次浏览
共计27343条记录 上一页 1.. 281 282 283 284 285 286 287 ..2735 下一页