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

最新发布

Excel利用VBA在页眉页脚中调用单元格内容
Excel利用VBA在页眉页脚中调用单元格内容

有时我们需要在Excel的页眉页脚中调用某个单元格内容,例如让用户在A1单元格中填入月份,如“一月”,在页眉处自动生成“一月报表”,可以用VBA代码来实现,步骤如下:1.按Alt+F11,打开VBA编辑器。2.在“工程”窗口中,双击“ThisWorkbook”,在右侧的代码窗口中输入下列代码:Private Sub Workbook_BeforePrint(Cancel As Boolean)ActiveSheet.PageSetup.LeftHeader = Range("A1").Value & "报表"End Sub这样,每次在打印工作表时,会自动在页眉左侧调用A1单元格中的内容,如A1单元格内容为“一月”,左侧页眉中显示“一月报表”。如果要在页脚中调用单元格内容,将上述代码改为:Private Sub Workbook_BeforePrint(Cancel As Boolean)ActiveSheet.PageSetup.LeftFooter = Range("A1").Value & "报表"End Sub同样,如果需要在页眉或页脚的中部、右侧调用单元格内容,只须将“LeftHeader”更换成“CenterHeader”、“CenterFooter”、“RightHeader” 和 “RightFooter”。

364 次浏览
excel利用VBA批量创建指定名称的文件夹
excel利用VBA批量创建指定名称的文件夹

有时在工作中需要批量创建指定名称的文件夹,如果数量较多,例如要创建几十、甚至几百个文件夹,用手动的方法很难完成。批量创建文件夹的工具有很多,如果一时手头没有这类工具,可以在Excel中用VBA来完成,方法如下:1.新建一个工作簿,在A列中输入要创建的文件夹名称,在B1单元格中输入文件夹所在的有效路径,如“d:\新建文件夹”。 2.按Alt+F11,打开VBA编辑器。在右侧的代码窗口中输入下列代码:Sub BatchCreatFolders()Dim rCel As RangeFor Each rCel In ThisWorkbook.Worksheets("Sheet1").UsedRange.Columns(1).CellsOn Error Resume Next‘B1单元格为新建文件夹所在的路径MkDir Range("B1").Text & "\" & rCel.TextNextEnd Sub3.运行上述代码,即可批量创建指定名称的文件夹。

146 次浏览
excel改变鼠标指针形状的VBA代码
excel改变鼠标指针形状的VBA代码

可以通过设置Application.Cursor属性改变鼠标指针形状。如在XP中下面的语句将鼠标指针的形状改变为沙漏状,这种形状的鼠标指针表示系统比较繁忙。Application.Cursor = xlWait改为I型指针:改变鼠标指针形状后,Excel不会自动恢复,用下面的语句恢复默认指针形状:Application.Cursor = xlDefaultApplication.Cursor = xlIBeam

341 次浏览
excel打开和关闭光驱的宏代码
excel打开和关闭光驱的宏代码

用下面的宏代码可以打开或关闭电脑中默认的光驱。方法是:1.按Alt+F11打开VBA编辑器。2.在代码窗口中输入下列代码:Private Declare Sub mciSendStringA Lib "winmm.dll" (ByVal lpstrCommand As String, _ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, _ByVal hwndCallback As Long)Sub OpenDefaultCDDVD()‘打开光驱mciSendStringA "Set CDAudio Door Open", 0&, 0, 0End SubSub CloseDefaultCDDVD()‘关闭光驱mciSendStringA "Set CDAudio Door Closed", 0&, 0, 0End Sub

112 次浏览
excel利用VBA判断工作表是否存在
excel利用VBA判断工作表是否存在

下面的VBA代码可以判断当前Excel工作簿中的某个工作表是否存在,如果指定的工作表不存在,则以指定的工作表名新建一个工作表,如果指定的工作表已存在,则给出一个提示,并激活该工作表。下例中指定的工作表标签为“一月”,可根据实际进行修改。Sub IsSheetExist()Dim ws As WorksheetDim sName As StringsName = "一月" ‘指定工作表On Error Resume NextSet ws = Sheets(sName)If ws Is Nothing Then ‘指定的工作表不存在Sheets.Add.Name = sNameElse ‘指定的工作表已存在MsgBox "“" & sName & "”工作表已存在。"ws.ActivateEnd IfEnd Sub

198 次浏览
excel利用VBA互换两个单元格或区域中的数据
excel利用VBA互换两个单元格或区域中的数据

有时需要在Excel工作表中互换两个区域中的数据,如果区域相邻可以直接用拖动鼠标并按住Shift键的方法进行互换。而当两区域不相邻且两个区域中的数据量较大时用VBA则较为快捷。例如在互换两列时可以直接单击工作表上方的列标题选择整列,然后执行代码互换数据。在工作表中选择两个形状相同的、无公共部分的区域,然后执行下面的代码,即可互换两区域中的数据。Sub TwoAreasSwap()Dim TheArea1, TheArea2 As VariantIf Selection.Areas.Count <> 2 ThenMsgBox "请选择两个区域!"Exit SubElseIf Selection.Areas(1).Cells.Count <> Selection.Areas(2).Cells.Count Or _Selection.Areas(1).Rows.Count <> Selection.Areas(2).Rows.Count ThenMsgBox "请选择两个形状相同的区域!"Exit SubElseTheArea1 = Selection.Areas(1).CellsTheArea2 = Selection.Areas(2).CellsSelection.Areas(1).Cells = TheArea2Selection.Areas(2).Cells = TheArea1End IfEnd Sub

131 次浏览
exce利用自定义函数去掉字符串中的数字
exce利用自定义函数去掉字符串中的数字

如果要去掉某个字符串中的所有数字,例如将一个字符串“Excel123”去掉数字后变为“Excel”,可以用自定义函数来实现。按Alt+F11打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入自定义函数:Function RemoveNums(theString As String)Dim eachChar, Temp As StringDim i As IntegerTemp = ""For i = 1 To Len(theString)eachChar = Mid(theString, i, 1)If Asc(eachChar) < 48 Or Asc(eachChar) > 57 ThenTemp = Temp & eachCharEnd IfNextRemoveNums = TempEnd Function假如包含数字的字符串在A1单元格,在B1单元格中输入=RemoveNums(A1)即可返回一个去掉数字后的字符串,如果字符串全部由数字组成,则返回空字符串。

114 次浏览
利用excel自定义函数显示单元格内的公式
利用excel自定义函数显示单元格内的公式

在Excel中选择某个单元格后,在编辑栏中会显示单元格内的公式,但编辑栏内不可能同时显示多个单元格中的公式。反复按快捷键Ctrl+`(“`”位于数字键“1”的左侧),可以切换显示工作表中的所有公式,但无法同时显示公式的计算结果和公式本身。复制某个单元格内的公式,然后将其粘贴到其他单元格中,并在“=”号前添加一个英文单引号,可以以文本形式显示该公式,但该方法所显示的公式不能随公式的改变而改变,另外批量操作也稍显繁琐。而用下面的一个简单自定义函数,不仅可以在单元格中显示其他单元格内的公式,而且还能随公式的改变而自动改变,这样就可以快速同时显示公式的计算结果和公式了。步骤如下:1.按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,在代码窗口中粘贴代码:Function ShowFormula(cell As Range)ShowFormula = cell.FormulaEnd Function3.返回Excel工作表界面。假如包含公式的单元格在B2中,在C2输入公式:=ShowFormula(B2)即可显示B2单元格中的公式,然后用填充的方法显示其他单元格内的公式。

115 次浏览
利用excel自定义函数去掉字符串中的重复字符
利用excel自定义函数去掉字符串中的重复字符

如果要在Excel中将单元格内字符串中的重复字符去掉,重复的字符仅保留一个,如将字符串“1232345667”变成“1234567”,可以用自定义函数实现。 步骤如下:1.按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,在代码窗口中粘贴代码:Function RemoveDupChar(theString As String) As StringDim i As IntegerFor i = 1 To Len(theString)If InStr(RemoveDupChar, Mid(theString, i, 1)) = 0 And _Mid(theString, i, 1) <> " " Then _RemoveDupChar = RemoveDupChar & Mid(theString, i, 1)NextEnd Function3.返回Excel工作表界面。假如字符串在A1单元中,在B1单元格中输入公式:=RemoveDupChar(A1)该自定义函数还可以将多个单元格中的字符串合并后去重复,如A6单元格为“12345”,A7单元格为“23456”,在B6单元格输入公式:

178 次浏览
利用VBA获取Excel最近使用的工作簿列表
利用VBA获取Excel最近使用的工作簿列表

下面的VBA代码可以获取Excel中最近使用的工作簿的完整路径和名称,并将其放到代码所在工作表的A列中。在Excel 2007和Excel 2010中,如果通过“Office按钮(或“文件”选项卡)→Excel选项→高级”设置显示“最近使用的文档”数量大于“0”,该代码可以显示最近使用的最多50个工作簿名称。而对于Excel 2003,A列中显示的工作簿名称数量与“文件”菜单底部所显示的最近使用文件数量相同。按Alt+F11,打开VBA编辑器,在右侧代码窗口中输入下列代码:Sub GetMRUList()On Error Resume NextDim i, MRUNum As IntegerMRUNum = Application.RecentFiles.MaximumApplication.RecentFiles.Maximum = 50Range("A1:A50").ClearFor i = 1 To 50Cells(i, 1) = Application.RecentFiles(i).PathNext iApplication.RecentFiles.Maximum = MRUNumEnd Sub运行代码,即可在A列中显示最近使用的工作簿列表。

129 次浏览
共计5788条记录 上一页 1.. 68 69 70 71 72 73 74 ..579 下一页