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

最新发布

excel保存工作簿时提醒指定单元格不能为空解决方案
excel保存工作簿时提醒指定单元格不能为空解决方案

在工作中有时需要把设计好的电子表格给其他用户填写,表格中的一些单元格为必填项。虽然可以通过设置颜色、批注等方式提醒用户,但仍有一些用户会忘记填写。这时可以用通过下面的宏代码,当用户在保存工作簿时进行提醒,如果指定的单元格为空则不能保存工作簿。假如工作簿中“Sheet1”表的E6单元格为必填,步骤如下:1.按Alt+F11打开VBA编辑器,在“工程”窗口中双击“ThisWorkbook”。2.在代码窗口中输入下列代码:Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)If Worksheets("Sheet1").Range("e6") = "" ThenMsgBox "Sheet1表的E6单元格不能为空!", , "提醒"Worksheets("Sheet1").ActivateActiveSheet.Range("e6").SelectCancel = TrueEnd IfEnd Sub当Sheet1表的E6单元格为空时,无论用哪种方式(如另存为、快捷键等)保存工作簿,Excel会弹出一个对话框提醒用户并跳转到指定的单元格。

139 次浏览
如何快速将多个excel工作表批量另存为单独的工作簿
如何快速将多个excel工作表批量另存为单独的工作簿

有时会遇到这种情况,某个Excel工作簿中包含许多工作表,需要把其中的某个工作表发送给其他用户,或者将某几个工作表发送给不同的用户,通常的做法是将这些工作表移动或复制到新工作簿中,保存后再发送给他们。当工作表的数量较多时,逐一手动操作显得有些繁琐,这时用下面的VBA代码就非常方便了,方法如下:按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码:Sub SaveSheetAsWorkbook()Dim theName As StringOn Error GoTo Line1For Each sht In ActiveWindow.SelectedSheetssht.CopytheName = ThisWorkbook.Path & ThisWorkbook.Name & "_" & sht.Name & ".xls"ActiveWorkbook.SaveAs Filename:=theName, FileFormat:=xlNormalActiveWindow.CloseNextLine1:End Sub关闭VBA编辑器,返回Excel界面,选择需要单独保存为工作簿的工作表,如果要选择多个工作表,可按Ctrl键或Shift键进行选择,然后按Alt+F8打开“宏”对话框,选择“SaveSheetAsWorkbook”宏执行即可。上述代码将每个所选的工作表单独保存为一个工作簿,存放位置与原工作簿相同,名称为“原工作簿名称_工作表名称.xls”。如果是在新建且未保存的工作簿中运行代码,Excel会将新生成的工作簿保存到默认的文件位置,如“我的文档”。

137 次浏览
快速保护所有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

246 次浏览
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

159 次浏览
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”,需根据实际进行更改。查看图表名称的方法是:

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

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

130 次浏览
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;

147 次浏览
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编辑器,在代码窗口中粘贴上述代码并运行即可。该代码仅将筛选结果中所有的公式结果转换为值,而不会受影响到筛选结果中未包含(隐藏)的单元格区域。

112 次浏览
利用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

91 次浏览
利用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 次浏览
共计5788条记录 上一页 1.. 69 70 71 72 73 74 75 ..579 下一页