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

最新发布

Excel中有关打印预览的一些VBA代码
Excel中有关打印预览的一些VBA代码

显示指定工作表的打印预览,假如该工作表名称为“Sheet1”:Worksheets("Sheet1").PrintPreview显示活动工作表的打印预览:Worksheets("Sheet1").PrintPreview显示工作簿中所有工作表的打印预览:Sheets.PrintPreview显示某一指定区域的打印预览,如当前工作表的A1:G10区域:ActiveSheet.Range("A1:G10").PrintPreview显示某一工作表中的某个图表的打印预览,假如工作表名称为“Sheet3”,其中某个图表名称为“图表 1”:Worksheets("Sheet3").ChartObjects("图表 1").ActivateActiveChart.PrintPreview

262 次浏览
在选定区域中进行数量统计的VBA代码
在选定区域中进行数量统计的VBA代码

如果在Excel中选择了一个或多个区域,用下面的VBA代码可以统计当前工作表所选区域中单元格(或行、列)的数量:1. 统计选定区域中的单元格数量:Sub CountCellsInSelection()Dim CellsNum As IntegerCellsNum = Selection.CountMsgBox "所选区域中的单元格数量为: " & CellsNumEnd Sub2.统计选定区域中所包含的行数,如果选择了多个区域,则统计行数之和。Sub CountRowsInSelection()Dim RowsNum As IntegerFor i = 1 To Selection.Areas.CountRowsNum = RowsNum + Selection.Areas(i).Rows.CountNext iMsgBox "所选区域中的行数为: " & RowsNumEnd Sub3.统计选定区域中所包含的列数,如果选择了多个区域,则统计列数之和。Sub CountColumnsInSelection()Dim ColumnsNum As IntegerFor i = 1 To Selection.Areas.CountColumnsNum = ColumnsNum + Selection.Areas(i).Columns.CountNext iMsgBox "所选区域中的列数为: " & ColumnsNumEnd Sub4.统计选定区域中的非空单元格数量:Sub CountNonBlankInSelection()Dim NonBlankNum As IntegerNonBlankNum = Application.CountA(Selection)MsgBox "所选区域中包含非空单元格有" & NonBlankNum & "个。"End Sub5.统计选定区域中有填充色的单元格数量:

187 次浏览
excel用VBA选择工作表中所有包含超链接的单元格
excel用VBA选择工作表中所有包含超链接的单元格

要选择工作表中所有包含超链接的单元格,用定位或查找的方法无法实现。下面的VBA代码可以实现这一目的。按Alt+F11,打开VBA编辑器,在“工程”窗口中双击某个工作表,在右侧的代码窗口中输入下列代码:Sub SelectHyperlinkCells()Dim hHlink As HyperlinkDim rRange As RangeDim NotFirstlink As BooleanOn Error Resume NextFor Each hHlink In ActiveSheet.HyperlinksIf NotFirstlink ThenSet rRange = Application.Union(rRange, hHlink.Range)ElseSet rRange = hHlink.RangeNotFirstlink = TrueEnd IfNextIf rRange Is Nothing Then EndrRange.SelectEnd Sub关闭VBA编辑器返回工作表界面,按Alt+F8打开“宏”对话框,运行“SelectHyperlinkCells”宏即可选择工作表中所有包含超链接的单元格。

107 次浏览
如何快速显示所有隐藏的Excel工作表
如何快速显示所有隐藏的Excel工作表

如果Excel工作簿中包含许多隐藏的工作表,要显示隐藏的工作表,通常的方法是单击菜单“格式→工作表→取消隐藏”(Excel 2003)或右击工作表标签,在弹出的快捷菜单中选择“取消隐藏”(Excel 2007/2010)。然后在“取消隐藏”对话框中逐一选择工作表取消其隐藏。但每次只能取消一个工作表的隐藏,当隐藏的工作表数量较多时,逐一这样操作稍显繁琐。实际上,用一行简单的VBA代码即可快速显示工作簿中所有隐藏的工作表。方法是:按Alt+F11,打开VBA编辑器,单击菜单“视图→立即窗口”,或按Ctrl+G,打开“立即窗口”,在其中输入:For Each s in sheets : s.Visible = True : Next然后按回车键运行代码,Excel会将工作簿中所有工作表(包括图表工作表)的“Visible”属性设置为“TRUE”,即显示所有隐藏的工作表。

120 次浏览
excel利用VBA设置或取消打印区域
excel利用VBA设置或取消打印区域

如果需要用VBA代码在Excel工作表中设置打印区域,可以用下面的方法。一、设置打印区域方法一:用PageSetup.PrintArea属性。代码如下:Sub SetPrintArea()Sheet1.PageSetup.PrintArea = "A1:F15"End Sub上述代码将区域A1:F15设置为打印区域。如果要同时设置多个打印区域,可以将上述代码改为:Sub SetPrintArea()Sheet1.PageSetup.PrintArea = "A1:F15,A20:F45"End Sub上述代码将区域A1:F15及A20:F45设置为打印区域,可以分两页来打印。还可以使用变量来设置一个动态打印区域:Sub SetPrintArea()PrintRow = 100Sheet1.PageSetup.PrintArea = "A1:G" & PrintRowEnd Sub

274 次浏览
利用VBA读写excel文档属性
利用VBA读写excel文档属性

要实现限制文件的使用次数,想来应该在某个地方存储文档已用的次数,并且在文档每被使用一次这个使用次数就得发生相应的更改。如果这个思路正确的话,我们就可以利用文档属性的某个位置来实现这一想法,故有了以下两种形式:一、利用自定义属性:因为我们可以自定义数字型的属性,这一点非常符合我们的需求先用一行代码ThisWorkbook.CustomDocumentProperties.Add Name:="open_times",LinkToContent:=False,Type:=msoPropertyTypeNumber,Value:=10来定义一个名为open_times的数字型属性、初始值为10。当然也可以手动定义然后在文档的打开事件中写入:Private Sub Workbook_Open()If ThisWorkbook.CustomDocumentProperties("open_times")1 Then MsgBox"可用次数已小于1"Else ThisWorkbook.CustomDocumentProperties("open_times")=ThisWorkbook.CustomDocumentProperties("open_times")-1 End If End Sub注:1、这里我们只讨论在必须启用宏的情况下。2、这里只写了打开文档的次数,要想保存、修改等等,请作相应改动。3、限制的代码请自行修改,此处只写了MsgBox"可用次数已小于1"这么一个提示信息二、上一个方法自然、直观,但不隐蔽。再利用内置文档属性直观上不容易发现的:先用一行代码ThisWorkbook.BuiltinDocumentProperties.Item("comments")=""将备注清空,然后文档每打开一次其备注增加一个空格,再判断其长度,当长度达到我们的限制要求时,作相应操作:Private Sub Workbook_Open()ThisWorkbook.BuiltinDocumentProperties.Item("comments")=ThisWorkbook.BuiltinDocumentProperties.Item("comments")&""If Len(ThisWorkbook.BuiltinDocumentProperties.Item("comments"))10 Then MsgBox"已超过可用次数"End If End Sub注:同前,限制的代码请自行修改,此处只写了一个提示信息

183 次浏览
怎样让Excel窗口总在最前面?
怎样让Excel窗口总在最前面?

有时我们需要让Excel窗口总是显示在最前面而不被别的窗口挡住,虽然Excel并没有提供这样的功能,但可以用下面的方法:方法一:使用软件能够实现让窗口总在最前面的软件非常多,例如“前台小精灵2.0”就是这样一款绿色的免费小软件,它能让任意窗口“始终在最前面”,可以到“华军软件园”的相关页面下载(单击这里打开下载页面)。软件的使用也非常简单:先设置前台和恢复热键,然后激活需要设置的Excel窗口,按下前台热键即可。 方法二:用VBA代码在VBA中使用API函数“SetWindowPos”可以让Excel窗口总在最前面。步骤如下:1.新建一个工作簿,按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,在右侧的代码窗口中粘贴下列代码:Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongConst HWND_TOPMOST = -1Const HWND_NOTOPMOST = -2Const SWP_NOSIZE = &H1Const SWP_NOMOVE = &H2

297 次浏览
excel自定义函数获取多个单元格中相同的字符
excel自定义函数获取多个单元格中相同的字符

要在Excel中获取区域内各单元格字符串中的相同字符,可用下面的自定义函数。例如要在D1单元格获取A1:C1区域各单元格中相同的字符,如图: 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入自定义函数:Function GetDupChars(rRng As Range) As StringApplication.VolatileDim i As Integer, j As Integer, k As IntegerDim Str As StringStr = rRng.Item(1).TextFor i = 1 To Len(Str)k = 0For j = 2 To rRng.Cells.CountIf InStr(rRng.Item(j).Text, Mid(Str, i, 1)) Then k = k + 1NextIf k = j – 2 And InStr(GetDupChars, Mid(Str, i, 1)) = 0 _Then GetDupChars = GetDupChars & Mid(Str, i, 1)NextEnd Function然后关闭VBA编辑器,在D1单元格中输入公式即可:=GetDupChars(A1:C1)

155 次浏览
Excel中计算阶乘(n!)的VBA代码
Excel中计算阶乘(n!)的VBA代码

在Excel中可以通过FACT函数来计算非负整数n的阶乘(n!),而如果要通过VBA来计算阶乘,可以用下面的两个自定义函数:1.使用循环:Function Factorial_a(ByVal Num As Integer)If Num < 0 ThenFactorial_a = "#NUM!"ElseFactorial_a = 1For i = 1 To NumFactorial_a = Factorial_a * iNextEnd IfEnd Function2.使用递归:Function Factorial_b(ByVal Num As Integer)If Num < 0 ThenFactorial_b = "#NUM!"ElseIf Num = 0 Or Num = 1 ThenFactorial_b = 1ElseFactorial_b = Num * Factorial_b(Num – 1)End IfEnd Function

124 次浏览
如何恢复excel VBA编辑器的默认窗口布局
如何恢复excel VBA编辑器的默认窗口布局

在使用VBA编辑器时,如果无意间弄乱了窗口布局,使各窗口不在其默认位置,使用起来有些不便。要恢复默认的VBA编辑器窗口布局,可以用下面的两种方法:方法一:手工调整1.在VBA编辑器中,单击菜单“工具→选项”,在弹出的“选项”对话框中选择“可连接的”选项卡,勾选不在默认位置的窗口选项,如“工程资源管理器”、“属性窗口”等。单击“确定”按钮。 2.假如要将“工程窗口”调整到默认的左侧位置,用鼠标左键拖动“工程”窗口的标题栏,移动到VBA编辑器的左侧边界,这时“工程”窗口的边缘会变成灰色细线,松开鼠标左键,“工程”窗口就会被定位到VBA编辑器的左侧。 3.用同样的方法将其他窗口定位到其默认位置。如果定位错误可以拖动该窗口标题栏将其拖回到VBA编辑器*(或双击标题栏)再重新定位。如果在第一步“可连接的”选项卡中某个窗口没有被勾选,当拖动该窗口到VBA编辑器边界时,就不会出现灰色细线,因而也无法用这个方法来定位该窗口。方法二:修改注册表用这个方法可以恢复默认的VBA编辑器窗口布局,修改前清备份注册表。1.关闭VBA编辑器和Excel。

477 次浏览
共计5723条记录 上一页 1.. 60 61 62 63 64 65 66 ..573 下一页