推荐阅读
如何取消Excel中的打印分割线
问题:如何取消Excel工作表中的打印分割线? 解答:在Excel选项中进行相关设置即可搞定。 首先需要了解什么是打印分割线?打印线其实叫做“分页符”,只要设置过打印或切换至“页面布局”模式在返回工作表里,就会看到这样的线。(下图1处) 那如何去掉“分页符”的显示呢? 具体方法如下:点击“文件”按钮 (下图2处) 单击“选项”按钮。(下图3处)
Excel中vba教程 设置行高实例
在excel工作表中对单元格进行行高设置操作,一般情况下,都是通过点击菜单:格式——行——行高,然后进行设置。 为了让大家逐渐熟悉Excel中vba基础知识,我们通过一系列的实例来加以介绍。 首先运行excel,新建一工作表,输入如下数据,详见下图: 输入完数据后,进行按钮的录入和VBA代码编写部分。 第一,依次单击菜单:视图——工具栏——窗体,调出窗体工具栏。 第二,单击窗体工具栏中的按钮,鼠标成为十字形状,然后在工作界面拖动一矩形框,松开鼠标,完成按钮的录入。 第三,松开鼠标后,会弹出“指定宏”对话框,单击其中的“新建”,出现Visual Basic代码编写界面。 第四,全选代码界面现有的代码,删除,并将下面一段代码复制进去: Sub 设置行高() Dim h As Long, r As Long, i As Integer, n As Integer Dim ws1 As Worksheet h = Application.InputBox(prompt:="请输入所选行的高度:", _ Title:="输入行高", Type:=1) Set ws1 = ActiveSheet n = Selection.Rows.Count r = ActiveCell.Row For i = 1 To n ws1.Rows(r + i - 1).RowHeight = h Next Set ws1 = Nothing End Sub 第五,单击保存,关闭Visual Basic代码编写界面,并右击该按钮,选中按钮上的文字,重命名为:设置行高。 第六,参考1-5步的操作,在页面新建另外一个按钮,并重命名为:自动设置行高。该按钮的代码为: Sub 自动调整行高() Selection.Rows.AutoFit End Sub 第七,完成上面的操作,最后的界面就如上图所示的一样了。然后,当我们点击工作表中的“设置行高”按钮,就会弹出“输入行高”对话框,可以在这里输入数值来调整行高。也可以单击“自动设置行高”按钮,来清除所设定的行高。
Excel如何通过“公式求值”检查计算公式
在Excel中,对于比较复杂的计算公式,当计算结果为错误值时,如何快速检查计算公式的错误呢?可以通过“公式求值”向导检查计算公式每一步的计算结果,从而找出错误所在。如上图所示,单击错误单元格左侧的提示按钮,在弹出的下拉菜单中选择“显示计算步骤”,打开“公式求值”对话框。或选中错误值单元格,在“公式”主菜单下的“公式审核”工具栏中单击“公式求值”按钮。单击“求值”按钮,开始对公式进行逐一求值。继续单击“求值”按钮,直到公式的每一部分都已求值完毕。若要再次查看计算过程,请单击“重新启动”。如果公式的下划线部分是对其他公式的引用,请单击“步入”以在“求值”框中显示其他公式。单击“步出”将返回到以前的单元格和公式。公式求值是快速检查计算公式错误的方法,公式求值分步求出公式的参数,可快速定位公式计算错误的参数值,找出公式出错的原因
excel提取单元格内容函数的使用方法
在Excel中,未免需要用到提取单元格内容的函数进行提取,这个函数也比较常用,如果掌握了会对办公有很大的帮助,下面是小编带来的关于excel提取单元格内容函数的使用方法的内容,欢迎阅读! excel提取单元格内容函数的使用方法 案例:在输入“地区”和“邮政编码”的时候,不小心将地区、邮政编码全部录入到了“地区”单元格列中了,下面我们可以使用“RIGHT函数”来将邮政编码提取到B列的邮政编码单元格中。 RIGHT函数提取数据 excel提取单元格内容函数方法1:首先,我们选中B2单元格;如下图所示: excel提取单元格内容函数方法2:在“编辑栏”中输入“=RIGHT(A2,6)”回车,即可提取地区后面的6位数字; excel提取单元格内容函数方法3:然后,将光标移动到B2单元格的右下角,当鼠标变成黑色十字架形状时,按住鼠标左键拖到最下面需要提取的单元格中再松开鼠标左键。 此时,我们就已经完全将A列所有单元格中的邮政编码提取到了B列中来了。 LEFT函数提取数据 按照上面的步骤和操作,我们已经将A列中的邮政编码提取到了B列。但是A列中的邮政编码和地区依然重复,我们现在可以使用LEFT函数将“地区”提取到C列单元格中分开。
最新发布
excel在VBA中使用非连续区域
如果要在VBA中使用非连续区域,可以用类似Range("A1, B2, C3:D10")的语句,如下例:Sub NonContiguousRange()Dim oRng As RangeSet oRng = Range("A1, B2, C3:D10")oRng.Value = 100oRng.Interior.ColorIndex = 2End Sub上述代码设置非连续区域A1、B2、C3:D10的值为100,同时设置非连续区域的背景颜色为粉红。
excel利用自定义函数提取单元格中的批注
用下面的自定义函数可以将某个单元格中的批注提取到其他单元格中,方法如下:1.按Alt+F11打开VBA编辑器,单击菜单“插入→模块”,在“工程”窗口中会看到Excel插入了一个名称为“模块1”的模块。2.在右侧“模块1”的代码窗口中输入下列代码:Function GetComment(rCell As Range)Application.Volatile ‘将自定义函数标记为易失性函数Dim Cmt As StringOn Error Resume NextCmt = rCell.Comment.TextGetComment = Right(Cmt, Len(Cmt) – InStr(1, Cmt, ":", vbTextCompare))On Error GoTo 0End Function3.关闭VBA编辑器,返回到Excel界面。假如要提取A10单元格中的批注,则在其他单元格中输入公式:=GetComment(A10)回车后即可得到A10单元格中的批注内容,注意本自定义函数仅提取批注内容,而不包含批注作者。由于将自定义函数标记为易失性函数,如果A10单元格中的批注被修改,按F9键或当任意单元格进行计算时即可得到修改后的批注内容。
如何在Excel工作表中添加最后保存时间
有时我们在Excel中制作的工作表需要反复修改,并保存为多个版本。修改的次数多了,很容易混淆。如果能把工作簿的最后保存日期和时间显示在工作表的某个单元格或页眉页脚中,查看起来就非常方便了。用VBA代码就能够轻松地实现这一点,方法如下:1.按Alt+F11,打开VBA编辑器。2.在“工程”窗口中,双击“ThisWorkBook”,在右侧的代码窗口中输入下列代码:Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)ActiveSheet.Range("G3").Value = Format(Now, "yyyy年m月d日 hh:mm:ss")End Sub说明:上述代码将工作簿保存的日期和时间保存在活动工作表的“G3”单元格中,需根据实际进行修改。如果要将保存的时间放到页眉或页脚中,可以改为类似下面的代码,下例中将工作簿的保存日期和时间放到页脚右侧:Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)ActiveSheet.PageSetup.RightFooter = "修改时间:" & Format(Now, "yyyy年m月d日 hh:mm:ss")End Sub3.关闭VBA编辑器,回到Excel界面中。以后每次单击工具栏中的“保存”按钮,G3单元格或页眉页脚中就会显示当前保存的日期和时间。
利用VBA创建新的工作簿
如果要用VBA创建新的工作簿,可以使用Add方法,如下面的代码。Excel自动将该工作簿命名为“BookN”,其中“N”是下一个可用的数字,同时新工作簿将成为活动工作簿。Sub AddOne()Workbooks.AddEnd Sub另外,创建新工作簿更好的方法是将其分配给一个对象变量。例如下例中,由Add方法返回的Workbook对象分配给了对象变量“NewBook”。然后,又设置了“NewBook ”的若干属性。Sub AddNew()Set NewBook = Workbooks.AddWith NewBook.Title = "图书销售目录一览表".Subject = "图书销售"End WithEnd Sub“Title”和“Subject”分别为工作簿的“标题”和“主题”属性,可以在工作簿属性的“摘要”选项卡中查看。下面的代码不仅创建了一个新工作簿的同时,还在工作簿中的第一个工作表前插入了一个名为“计算机类”的工作表,并将该工作表中的B2单元格赋值为“销售数量”。Sub CreateNewWorkBook()Dim WBook As Workbook, WSheet As WorksheetSet WBook = Workbooks.AddSet WSheet = WBook.Worksheets.AddWSheet.Name = "计算机类"WSheet.Range("B2").Value = "销售数量"End Sub
excel实现按指定的单元格颜色进行计数或求和实例教程
如果Excel工作表的某区域中包含不同的底纹颜色,我们可以用一个自定义函数对该区域按指定的单元格颜色进行计数或求和。方法是:1.按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,将插入名称为“模块1”的模块,在右侧的代码窗口中输入下列代码:Function SumByColor(Ref_color As Range, Sum_range As Range)Application.VolatileDim iCol As IntegerDim rCell As RangeiCol = Ref_color.Interior.ColorIndexFor Each rCell In Sum_rangeIf iCol = rCell.Interior.ColorIndex ThenSumByColor = SumByColor + rCell.ValueEnd IfNext rCellEnd FunctionFunction CountByColor(Ref_color As Range, CountRange As Range)Application.VolatileDim iCol As IntegerDim rCell As RangeiCol = Ref_color.Interior.ColorIndexFor Each rCell In CountRangeIf iCol = rCell.Interior.ColorIndex ThenCountByColor = CountByColor + 1End IfNext rCellEnd Function上述两个自定义函数,一个是SumByColor,可以对区域按指定单元格的颜色求和。另一个是CountByColor,可以统计区域中某种颜色的个数。这两个自定义函数都有两个参数,前一个参数指定包含某种颜色的单元格,后一个参数为求和或计数区域。3.关闭VBA编辑器。使用方法:假如要求和或计数的区域在A1:B10区域中。
excel VBA同时选择多个工作表的方法
如果要用VBA同时选择多个工作表,可以利用数组或设置“Select”方法的参数为“False”来扩展所选择的内容,如下面的一些代码:1.用工作表名称:假如工作表名称为“Sheet1”、“Sheet2”、“Sheet3”,同时选择这3个工作表:Sub SelectMultiSheets()Sheets(Array("Sheet3", "Sheet2", "Sheet1")).SelectEnd Sub2.用工作表索引号:索引号是分配给工作表的连续数字,同一类型的工作表在工作簿中按照从左到右的顺序,依次为1、2、3……。下面的代码同时选择第1个和第3个工作表:Sub SelectMultiSheets1()Worksheets(Array(3, 1)).SelectEnd Sub3.选择所有工作表:如果工作簿中不包含图表工作表、对话框工作表,下面的代码可以同时选择所有的工作表:Sub SelectAllSheets()Dim ws As WorksheetFor Each ws In ActiveWorkbook.Sheetsws.Select FalseNext wsEnd Sub
利用VBA禁用Excel中的F1键
如果在使用Excel过程中习惯使用F2键切换到单元格编辑状态,有时可能会不小心错按了F1键而弹出Excel帮助窗口,特别是对于键盘较小的笔记本这种情况就更容易出现。如果是Excel 2007/2010,Excel帮助窗口会覆盖工作表窗口,显得有些不便。如果要禁用F1键,可以用下面的VBA代码。在Excel中按快捷键Alt+F11,打开VBA编辑器,按Ctrl+G打开“立即”窗口,在其中输入下面的代码并按回车键:Application.OnKey "{F1}", ""这样就禁用了F1键的功能。重启Excel或用下面的代码即可恢复F1键正常功能:Application.OnKey "{F1}"但上述方法不能在每次启动Excel时都起作用。如果要每次启动Excel后都禁用F1键的功能,可以用多种方法来实现,本文以Excel 2007为例介绍两种方法:方法一:用加载宏对话框1.新建一个工作簿,打开VBA编辑器,在“工程”窗口中双击选择“ThisWorkbook”,在右侧的代码窗口中输入下列代码:Private Sub Workbook_Open()Application.OnKey "{F1}", ""End Sub2.单击“保存”按钮,将工作簿另存为“Excel 97-2003加载宏(*.xla)”格式,如名称为“禁用F1键.xla”。Excel会自动将该文件保存到“AddIns”文件夹中。
excel自定义一个具有Like运算符功能的工作表函数
我们知道VBA中的Like运算符是用来比较两个字符串的,其语法为:result = string Like pattern如果string与pattern匹配,则result为True,如果不匹配,则result为False。Like运算符的比较方式比较灵活,除了可以使用通配符外,pattern中还可以使用中括号“[ ]”。在中括号“[ ]”中,可以用由一个或多个字符组成的组与 string 中的任一字符进行匹配。虽然用COUNTIF工作表函数可以实现类似的比较功能,但COUNTIF函数不支持中括号。为此,我们可以创建一个自定义函数来实现类似Like运算符的功能,使用起来非常方便。方法如下:按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,将下列代码输入到代码窗口中:Public Function IsLike(sText As String, _sPattern As String) As BooleanIsLike = IIf(sText Like sPattern, True, False)End FunctionIsLike有2个字符串参数:sText和sPattern,sText类似于Like运算符的String, sPattern类似于Like运算符的pattern。其使用方法为:=islike(sText,sPattern)如果sText与sPattern匹配,则返回TRUE,否则FALSE。例如下面的公式:=islike("EXCEL技巧天地","E*")该公式检测“EXCEL技巧天地”字符串是否已字母“E”开头,结果返回TRUE。又如:
excel打开工作簿时总是打开指定的工作表
通常在保存Excel工作簿时,如果某个工作表处于活动状态,下次打开这个工作簿时就会自动打开这个工作表。如果我们需要每次打开工作簿时总是打开指定的工作表,而无论保存时哪个工作表处于活动状态,可以用下面一个简单的VBA代码来实现:Private Sub Workbook_Open()Sheet3.ActivateEnd Sub按Alt+F11,打开VBA编辑器,在工程窗口中双击当前Excel文件名中的“ThisWorkBook”,在右侧的代码窗口中输入上述代码并保存,如图。 这样,每次打开工作簿时,Excel将自动打开“Sheet3”所对应的工作表,需要说明的是,这里的“Sheet3”不是工作表名称,而是工程窗口中的对象名称“Sheet3”,它对应的工作表名称是“汇总表”。当在Excel中更改工作表名称时,不会影响代码的运行,仍然会打开对象“Sheet3”对应的工作表。如果需要在代码中指定每次打开的工作表名称,可以用下面的代码:Private Sub Workbook_Open()Sheets("汇总表").SelectEnd Sub
excel用自定义函数获取单元格注释
我们可以用一个自定义函数来提取单元格注释。方法如下:1.按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,在右边的代码窗口中输入代码:Function GetCommentText(rCommentCell As Range)Dim strGotIt As StringOn Error Resume NextstrGotIt = WorksheetFunction.Clean(rCommentCell.Comment.Text)GetCommentText = strGotItOn Error GoTo 0End Function3.关闭VBA编辑器。在单元格中输入公式:=GetCommentText(B4)将在当前单元格中返回B4单元格中的注释。