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

最新发布

如何在受保护的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保护密码。最后保存工作簿。这样,用户打开受保护的工作表后就可以使用已创建的分级显示了。

283 次浏览
按条件合并多个excel单元格内容到同一单元格的自定义函数
按条件合并多个excel单元格内容到同一单元格的自定义函数

Excel中的CONCATENATE函数可以将多个文本字符串联接成一个文本字符串,但有时需要按指定条件合并某些单元格的内容到一个单元格,这时CONCATENATE函数无法实现,而使用下面的自定义函数就十分方便了。如图所示,需要在F2单元格中将“调资额”为“190”的“姓名”用“、”连接起来。 步骤如下:1.按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入下列代码:Function CONCATENATEIF(rng1 As Range, rng2 As Range, criteria As String, separator As String) As StringDim arr()Dim rCell As RangeDim i As Integer, j As IntegerOn Error Resume Nextj = WorksheetFunction.CountIf(rng2, criteria)If j > 0 ThenReDim arr(0 To j – 1)For Each rCell In rng2If WorksheetFunction.CountIf(rCell, criteria) Thenarr(i) = rng1.Item(1).Offset(rCell.Row – rng2.Row, rCell.Column – rng2.Column).Valuei = i + 1End IfNextFor i = 0 To j – 1CONCATENATEIF = CONCATENATEIF & arr(i) & IIf(i <> j – 1, separator, "")NextEnd IfEnd Function上述代码定义了一个自定义函数CONCATENATEIF,共有四个参数,分别为需要连接单元格内容的区域(通常为单行或单列)、条件区域,条件和分隔符。使用该自定义函数时注意:①参数中的两个区域的形状大小需相同;②条件的输入类似COUNTIF函数,如 190、">100"、"苹果" 等,可使用通配符“*”、“?”。2.返回Excel工作表界面,在F2单元格中输入公式:=CONCATENATEIF($B$2:$B$16,$C$2:$C$16,E2,"、")

124 次浏览
VBA调用Excel函数公式的代码 Excel教程
VBA调用Excel函数公式的代码 Excel教程

在Excel中使用函数公式,有两种使用方法,一是直接通过鼠标或手工输入的方法使用,称为直接使用;二是通过VBA间接调用。称为间接法。通过VBA调用Excel中的函数,具有相当的灵活性,当我们在处理未知区域即不确定有多少行和多少列的时候,如果使用VBA调用函数,那么,将是一种稍有智能性的数据处理方法。下面,给大家详细介绍,在EXCEL中,如何通过VBA调用函数并给函数指明参数。  ①种调用方法Worksheets(1).Range("E6") = WorksheetFunction.Median(Range("A1:B4"))这种调用形式,函数的参数是单元格地址区域,属于普通型,但数据区域的定义难于确定。②种调用方法Worksheets("sheet1").Range("D6") = Application.Min(Range("A1:B4"))这种调用形式,函数参数的数据区域及工作表名称,属于普通型,灵活性不够。③种调用方法

142 次浏览
实现从excle单元格是提取数字教程
实现从excle单元格是提取数字教程

方法一:=LOOKUP(9E+307,–MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))方法二:自定义函数:qushu(x)Function qushu(x)For b = 1 To Len(x)a = Mid(x, b, 1)If a >= 0 And a <= 9 Or a = "." Thenc = c + Mid(x, b, 1)End IfNextIf c = 0 Then c = ""qushu = cEnd Function

79 次浏览
Excel VBA中的Open事件
Excel VBA中的Open事件

一个最常见的被监控事件是工作簿的Open事件。当工作簿(或加载项)打开时,该事件被触发,执行Workbook_Open过程。Workbook_Open过程功能非常多,通常用于完成以下任务:  ●显示欢迎信息。  ●打开其他工作簿。  ●激活特定的工作表。  ●确保符合一定的条件。例如,一个工作簿也许需要安装特殊的加载项。  下面是关于Workbook_Open过程的一个简单示例。它使用VBA的Weekday函数确定星期几。如果是星期五,将显示一个信息框提醒用户执行文件备份。如果不是星期五,不显示任何信息。  private Sub Workbook_Open()   If Weekday(Now)=6 ThenMsg="请执行文件备份"MsgBox Msg, vbInformationEnd IfEnd Sub  遗憾的是,VBA对于Excel2007的功能区束手无策。例如,甚至没有一种直接的方法去激活一个特定的功能区选项卡。下面的例子使用SendKeys声明模拟“按键”。在该例子中,它发送了快捷键Alt+H,该键是Excel2007的“键提示”,相当于激活功能区的“开始”选项卡。按时键从功能区中移出键提示字母。Private Sub Workbook_open()Application.SendKeys ("%h(F6)")End Sub  下面的例子是当工作簿打开时,执行一系列的动作。它最大化Excel窗口,最大化工作簿窗口,激活命名为DataEntry的表,并选中A列第一个空的单元格。如果不存在DataEntry工作表,则代码产生错误信息。private Sub Workbook_Open()Application.WindowState = xlMaximizedActiveWindow.windowState = xlMaximizedWorksheets("DataEntry").ActivateRange("A1").End(xlDown).offset(1,O).SelectEnd Sub

304 次浏览
VBA代码实现Excel中数据快速录入
VBA代码实现Excel中数据快速录入

在Excel中录入数据有很多的技巧,合理地运用它们可以提高我们的工作效率。本文另辟蹊径,向大家介绍一下如何利用VBA代码实现数据的快速录入。请看下面的例子。  假设在填写的某列数据中,员工所属的部门有“一车间”、“二车间”、“销售部”等等,如果我们能用数字代替这些文字内容输入的话,必将大大提高我们录入的效率。  根据这个思路,我们在该工作表的Change事件中输入了如下的代码:    Private Sub Workheet_Change(ByVal Target As Range)    If Target.Column = 2 Then ’只在第二列实现该功能    If Target.Value = 1 Then  Target.Value = "一车间"    Else  If Target.Value = 2 Then    Target.Value = "二车间"

158 次浏览
Excel vba if语句解释和实例教程
Excel vba if语句解释和实例教程

本文介绍vba if判断语句的使用方法,在最后以一个实例来剖析vba if语句的具体应用。  vba if语句为判断语句。根据条件的值,可使用 If…Then…Else 语句运行指定的语句或一个语句块。If…Then…Else 语句可根据需要嵌套多级。  但是,为了代码的可读性,建议使用其余的语句,比如 Select Case 语句而不使用多层嵌套的vba中的 If…Then…Else 语句。  vba if语句用法解释:  当条件为 True 时,若只要执行一个语句,则可以使用单行的 If…Then…Else 语法。  使用 If…Then…Else 语句可以定义两个可执行的语句块:其中一个块会在条件为True 时执行;而另一个块会在条件为 False 时执行。  vba if语句执行流程如下:   vba if语句实例剖析

323 次浏览
Excel vba是什么
Excel vba是什么

vba是什么意思?本文给大家介绍vba是什么,带给大家一些VBA相关的基础知识。  vba是什么呢?VBA是微软研发出来的,但是并不是仅仅用于微软的产品(Word、Excel、PowerPoint等),在其他的商业软件中,也有不少集成了VBA,比如AutoCAD,WordPerfect等,在这些应用软件中,也可以使用VBA。  到底VBA是什么呢?VBA的全称是Visual Basic for Application。  VBA是Microsoft Visual Basic的应用程序版本,它是集成在office组件之中。  由于VBA的出现,使office形成了独立的编程环境。  介绍到这里,相信大家大概知道了vba是什么了。  我们知道了vba是什么,下面在说说VBA到底做什么用,为什么要学习VBA呢?  VBA最简单的应用就是自动执行重复的操作。  比如在Excel中,我们要格式化月报表,格式化表格,设置字体、添加边框等等。这些重复的操作,如果使用VBA代码的话,我们可以让过程自动化,为我们节省很多时间。  VBA还可以进行复杂的数据分析对比,以及使用VBA生成一些非常漂亮的、复杂的报表和图表;除了这些,VBA还可以定制个性化用户界面。

147 次浏览
Excel vba给所有的工作表自动批量加页码,会计的有福啦
Excel vba给所有的工作表自动批量加页码,会计的有福啦

今天来分享一段有用而简单的excel编程代码。目的就是这个工作簿所有的工作表自动批量加页码。会计亲们有福啦。我们按快捷键alt+F11,进入vba的编辑器里。点插入模块。然后在这输入以下代码Sub 加页码() Dim i%For i = 1 To Sheets.Count ‘表示工作表数量Sheets(i).Range("d1") = i ‘固定在i1添加页码,i1代表你要的单元格位置。NextEnd Sub效果就是Excel vba给所有的工作表自动批量加页码,会计的有福啦

224 次浏览
Excel Vba正数数字批量换成文字
Excel Vba正数数字批量换成文字

今天拿到了一个比较棘手的难题,把数字全部换成正数这两个字。我最早用了定位,但定位只能是数字而不能正数。我又写了定义对象大于0,后来发现居然字母都被换掉了,这显然不是我要的。后来问了一个朋友原来也还要写段代码进行是不是数字的判断。最后的结果是Sub ee()Dim rng As RangeFor Each rng In Range("a1:d8") ‘foreach的用法If IsNumeric(rng) And rng.Value > 0 Then ‘判断是不是数字类型,还有是不是>0rng.Value = "正数" ‘把正数赋给所有的对象End IfNextEnd Sub

185 次浏览
共计5788条记录 上一页 1.. 70 71 72 73 74 75 76 ..579 下一页