excel代码大全

合集下载

excel 控件 常用代码

excel 控件 常用代码

excel 控件常用代码Excel控件是一个常用于.NET应用程序的控件,它允许开发人员将Excel的功能集成到Windows窗体应用程序中。

以下是Excel控件的一些常用代码示例:1. 打开Excel工作簿```c#xlApp.Workbooks.Open(@"C:\example.xlsx");```2. 获取工作表中的单元格值```c#string cellValue = xlWorksheet.Range["A1"].Text;```3. 设置单元格的值```c#xlWorksheet.Range["A1"].Value = "Hello World";```4. 保存工作簿```c#xlWorkbook.Save();xlWorkbook.Close();```5. 创建新的工作表```c#xlWorkbook.Worksheets.Add();```6. 删除工作表```c#xlWorkbook.Worksheets.Remove(xlWorksheet);```7. 自动筛选数据```c#xlWorksheet.AutoFilterMode = true;xlWorksheet.Range["A1"].AutoFilter(1, "John"); // 按第一列筛选出包含"John"的行```这些是一些常用的Excel控件代码示例,可以帮助您在Windows 窗体应用程序中实现Excel的基本功能。

请注意,这些代码示例假定您已经正确地添加了Excel控件到您的项目中,并且已经使用正确的对象名称引用了它。

常用Excel操作代码公式

常用Excel操作代码公式

常⽤Excel操作代码公式1.对⽐两列对应⾏的数据是否都相同=IF(A:A=B:B,"相同","不同")2.对⽐两列所有⾏,第⼆列在第⼀列中数据是否重复如果第⼆列在第⼀列有则显⽰为重复否则显⽰为不重复=IF(COUNTIF(A:A,B1)=0,"不重复","重复")3.如果A列的数据没有在B列出现过,就保留单元格为空。

如果A列的数据在B列出现过,就返回A列对应的数据。

C1输⼊公式:=IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),"",A1)4.第⼀列的数据在第⼆列,如果有则返回第⼀列在第⼆列的位置⾏,否则返回#N/A 输⼊公式=MATCH(A1,B:B,)5. 如果只想在A列标⽰出哪些内容再B列⾥出现过可以⽤条件格式。

(1)⾸先,从A1开始选中A列数据,点击【开始】-【条件格式】-【新建规则】。

(2)选择【使⽤公式确定要设置格式的单元格】。

(3)输⼊公式=COUNTIF(B:B,A1)>0,然后点击【格式】按钮。

(4)选择⼀个填充颜⾊,并确定。

(5)就可以看到A列中在B列存在的内容就都被标上了颜⾊。

6.从⾝份证号码⾥提取出⽣年⽉⽇=IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2), MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)) 7.⾝份证号码提取出性别=IF(MOD(MID(A2,17,1),2)=1,"男","⼥")8.根据⾝份证号码求岁数=DATEDIF(--TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"0-00-00"),TODAY(),"y")&"周岁零"&DATEDIF(--TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"0-00 -00"),TODAY(),"ym")&"⽉"&DATEDIF(--TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"0-00 -00"),TODAY(),"md")&"天"9根据⾝份证号码求岁数精确到⽉=DATEDIF(--TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"0-00-00"),TODAY(),"y")&"周岁零"&DATEDIF(--TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"0-00 -00"),TODAY(),"ym")&"⽉"10.根据阿拉伯数字变为⼤写数字=IF(ROUND(F2,2)<0,"⽆效数值",IF(ROUND(F2,2)=0,"零",IF(ROUND(F2,2)<1,"",TEXT(INT(ROUND(F2,2)),"[dbnum2]")&"元")&IF(INT(ROUND(F2,2)*10)-INT(ROUND(F2,2))*10=0,IF(INT(ROUND(F2,2))*(INT(ROUND(F2,2)*1 00)-INT(ROUND(F2,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(F2,2)*10)-INT(ROUND(F2,2))*10,"[dbnum2]")&"⾓")&IF((INT(ROUND(F2,2)*100)-INT(ROUND(F2,2)*10)*10)=0,"整",TEXT((INT(ROUND(F2,2)*100)-INT(ROUND(F2,2)*10)*10),"[dbnum2]")&"分")))F2更改为⼩写数所在列。

经典ExcelVBA代码

经典ExcelVBA代码

经典ExcelVBA代码Application(Excel程序)篇Application.EnableEvents= True/ False ’启用/禁用所有事件Application.DisplayAlerts=True/False ’显示/关闭警告框提示框Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新Application.StatusBar = "软件报专用" ’在地址栏中显示文本,标题栏用Caption属性Application.Cursor = xlIBeam ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序Application.TemplatesPath ‘获取工作簿模板的位置Application.CalculateFull ’重新计算所有打开的工作簿中的数据Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档Application.AutoCorrect.AddReplacement "sweek", "软件报" ’自动将输入的"sweek"更正为"软件报"Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框Application.OnTime Now + TimeValue("00:00:45"), "process" ’45分钟后执行指定过程Application.OnTime TimeValue("14:00:00"), " process " ’下午2点执行指定过程Application.OnTime EarliestTime:=TimeValue("14:00:00"), _ Procedure:="process", Schedule:=False ’取消指定时间的过程的执行Application.CutCopyMode = False 退出复制/剪切模式后,在程序运行时所进行的复制或剪切操作不会在原单元格区域留下流动的虚框线。

Excel VBA常用代码总结1

Excel VBA常用代码总结1

Excel VBA常用代码总结1•改变背景色Range(”A1”).Interior。

ColorIndex = xlNoneColorIndex一览•改变文字颜色Range("A1").Font.ColorIndex = 1•获取单元格Cells(1,2)Range(”H7")•获取范围Range(Cells(2,3), Cells(4, 5))Range(”a1:c3”)’用快捷记号引用单元格Worksheets(”Sheet1”)。

[A1:B5]•选中某sheetSet NewSheet = Sheets("sheet1")NewSheet。

Select•选中或激活某单元格'“Range”对象的的Select方法可以选择一个或多个单元格,而Activate方法可以指定某一个单元格为活动单元格.'下面的代码首先选择A1:E10区域,同时激活D4单元格:Range("a1:e10”).SelectRange(”d4:e5”).Activate’而对于下面的代码:Range("a1:e10")。

SelectRange("f11:g15")。

Activate’由于区域A1:E10和F11:G15没有公共区域,将最终选择F11:G15,并激活F11单元格。

•获得文档的路径和文件名ActiveWorkbook.Path '路徑 '名稱ActiveWorkbook。

FullName '路徑+名稱'或将ActiveWorkbook换成thisworkbook•隐藏文档Application.Visible = False•禁止屏幕更新Application。

ScreenUpdating = False•禁止显示提示和警告消息Application。

DisplayAlerts = False•文件夹做成strPath = ”C:\temp\"MkDir strPath•状态栏文字表示Application.StatusBar = ”计算中"•双击单元格内容变换Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If (Target.Cells.Row 〉= 5And Target。

EXCEL单元格格式通用代码

EXCEL单元格格式通用代码

1 正数;负数;零 0 -1 0000-00-00 19820506 0000年00月00日 aaaa 2014/3/1 aaa 2014/3/1 dddd 2007/12/31 90 [>=90]优秀; [>=60]及格;不 60 及格 59 [DBNum1][$804]G/通用格式 [DBNum2][$804]G/通用格式 125 元整 [DBNum3][$804]G/通用格式 [DBNum1][$19 804]G/通用格式 [>20][DBNum1]; 19 [DBNum1]d 0.00,K 12536 #!.0000万元 #!拾伍 中文大写数字,并加入“元整”字尾 元整 1百2十5 一十九 十九 中文小写数字 中文小写数字,11-19无设置 11-显示为十一而不是一十一
12.54K 以千为单位 1.2536万元 以万元为单位,保留4位小数 1.3万元 以万元为单位,保留1位小数
单元格格式 Format_text G/通用格式 "000.0" #### 00.##
数字 Value 10 10.25 10 1.253
TEXT(A,B) 值 10 10.3 10 1.25 正数 零 负数 1982/5/6 ########### 星期六 六 Monday 优秀 及格 不及格
说明 常规格式 小数点前面不够三位以0补齐,保留1 位小数,不足一位以0补齐 没用的0一律不显示 小数点前不足两位以0补齐,保留两 位,不足两位不补位 大于0,显示为“正数” 等于0,显示为“零” 小于0,显示为“负数” 按所示形式表示日期 显示为中文星期几全称 显示为中文星期几简称 显示为英文星期几全称 大于等于90,显示为“优秀” 大于等于60,小于90,显示为“及格 ” 小于60,显示为“不及格”

Excel自定义格式代码详解

Excel自定义格式代码详解

1、”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。

例:代码:”G/通用格式”。

10显示为10;10.1显示为10.1。

2、“#”:数字占位符。

只显有意义的零而不显示无意义的零。

小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。

例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.133、”0”:数字占位符。

如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。

例:代码:”00000”。

1234567显示为1234567;123显示为00123代码:”00.000”。

100.14显示为100.140;1.1显示为01.1004、”@”:文本占位符,如果只使用单个@,作用是引用原始文本,要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。

@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。

如果使用多个@,则可以重复文本。

例:代码”;;;"集团"@"部"“,财务显示为:集团财务部代码”;;;@@@“,财务显示为:财务财务财务5、”*”:重复下一次字符,直到充满列宽。

例:代码:”@*-”。

”ABC”显示为”ABC-------------------”可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************6、”,”:千位分隔符例:代码” #,###“,12000显示为:12,0007、\:用这种格式显示下一个字符。

"文本",显示双引号里面的文本。

“\”:显示下一个字符。

和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。

例:代码"人民币"#,##0,,"百万",与\人民币#,##0,,\百万,输入1234567890显示为:人民币1,235百万8、“?”:数字占位符。

Excel-vba宏代码-大全

Excel-vba宏代码-大全

宏文件集▲打开全部隐藏工作表返回Sub 打开全部隐藏工作表()Dim i As IntegerFor i = 1 To Sheets.CountSheets(i).Visible = TrueNext iEnd Sub▲循环宏返回Sub 循环()AAA = Range("C2")Dim i As LongDim times As Longtimes = AAA'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)For i = 1 To timesCall 过滤一行If Range("完成标志") = "完成" Then Exit For '如果名为'完成标志'的命名单元的值等于'完成',则退出循环,如果一开始就等于'完成',则只执行一次循环就退出'If Sheets("传送参数").Range("A" & i).Text = "完成" Then Exit For '如果某列出现"完成"内容则退出循环Next iEnd Sub▲录制宏时调用“停止录制”工具栏返回Sub 录制宏时调用停止录制工具栏()mandBars("Stop Recording").Visible = TrueEnd Sub▲高级筛选5列不重复数据至指定表返回Sub 高级筛选5列不重复数据至Sheet2()Sheets("Sheet2").Range("A1:E65536") = "" '清除Sheet2的A:D列Range("A1:E65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range( _"A1"), Unique:=TrueSheet2.Columns("A:E").Sort Key1:=Sheet2.Range("A2"), Order1:=xlAscending,Header:=xlGuess, _OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _:=xlPinYinEnd Sub▲双击单元执行宏(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Range("$A$1") = "关闭" Then Exit SubSelect Case Target.AddressCase "$A$4"Call 宏1Cancel = TrueCase "$B$4"Call 宏2Cancel = TrueCase "$C$4"Call 宏3Cancel = TrueCase "$E$4"Call 宏4Cancel = TrueEnd SelectEnd Sub▲双击指定区域单元执行宏(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Range("$A$1") = "关闭" Then Exit SubIf Not Application.Intersect(Target, Range("A4:A9", "C4:C9")) Is Nothing Then Call 打开隐藏表End Sub▲进入单元执行宏(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)'以单元格进入代替按钮对象调用宏If Range("$A$1") = "关闭" Then Exit SubSelect Case Target.AddressCase "$A$5" '单元地址(Target.Address),或命名单元名字()Call 宏1Case "$B$5"Call 宏2Case "$C$5"Call 宏3End SelectEnd Sub▲进入指定区域单元执行宏(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Range("$A$1") = "关闭" Then Exit SubIf Not Application.Intersect(Target, Range("A4:A9","C4:C9")) Is Nothing Then Call打开隐藏表End Sub▲在多个宏中依次循环执行一个(控件按钮代码)返回Private Sub CommandButton1_Click()Static RunMacro As IntegerSelect Case RunMacroCase 0宏1RunMacro = 1Case 1宏2RunMacro = 2Case 2宏3RunMacro = 0End SelectEnd Sub▲在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()With CommandButton1If .Caption = "保护工作表" ThenCall 保护工作表.Caption = "取消工作表保护"Exit SubEnd IfIf .Caption = "取消工作表保护" ThenCall 取消工作表保护.Caption = "保护工作表"Exit SubEnd IfEnd WithEnd Sub▲在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)返回Option ExplicitPrivate Sub CommandButton1_Click()With CommandButton1If .Caption = "宏1" ThenCall 宏1.Caption = "宏2"Exit SubEnd IfIf .Caption = "宏2" ThenCall 宏2.Caption = "宏3"Exit SubEnd IfIf .Caption = "宏3" ThenCall 宏3.Caption = "宏1"Exit SubEnd IfEnd WithEnd Sub▲根据A1单元文本隐藏/显示按钮(控件按钮代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Range("A1") > 2 ThenCommandButton1.Visible = 1ElseCommandButton1.Visible = 0End IfEnd SubPrivate Sub CommandButton1_Click()重排窗口End Sub▲当前单元返回按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()ActiveCell = CommandButton1.CaptionEnd Sub▲当前单元内容返回到按钮名称(控件按钮代码)返回Private Sub CommandButton1_Click()CommandButton1.Caption = ActiveCellEnd Sub▲奇偶页分别打印返回Sub 奇偶页分别打印()Dim i%, Ps%Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数MsgBox "现在打印奇数页,按确定开始."For i = 1 To Ps Step 2ActiveSheet.PrintOut from:=i, To:=iNext iMsgBox "现在打印偶数页,按确定开始."For i = 2 To Ps Step 2ActiveSheet.PrintOut from:=i, To:=iNext iEnd Sub▲自动打印多工作表第一页返回Sub 自动打印多工作表第一页()Dim sh As IntegerDim xDim yDim syDim syzx = InputBox("请输入起始工作表名字:")sy = InputBox("请输入结束工作表名字:")y = Sheets(x).Indexsyz = Sheets(sy).IndexFor sh = y To syzSheets(sh).SelectSheets(sh).PrintOut from:=1, To:=1Next shEnd Sub▲查找A列文本循环插入分页符返回Sub 循环插入分页符()' Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容Dim i As LongDim times As Longtimes = Application.WorksheetFunction.CountIf(Sheet1.Range("a:a"), "分页")'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)For i = 1 To timesCall 插入分页符Next iEnd SubSub 插入分页符()Cells.Find(What:="分页", After:=ActiveCell, LookIn:=xlValues, LookAt:= _xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _.ActivateActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCellEnd SubSub 取消原分页()Cells.SelectActiveSheet.ResetAllPageBreaksEnd Sub▲将A列最后数据行以上的所有B列图片大小调整为所在单元大小返回Sub 将A列最后数据行以上的所有B列图片大小调整为所在单元大小()Dim Pic As Picture, i&i = [A65536].End(xlUp).RowFor Each Pic In Sheet1.PicturesIf Not Application.Intersect(Pic.TopLeftCell, Range("B1:B" & i)) Is Nothing ThenPic.Top = Pic.TopLeftCell.TopPic.Left = Pic.TopLeftCell.LeftPic.Height = Pic.TopLeftCell.HeightPic.Width = Pic.TopLeftCell.WidthEnd IfNextEnd Sub▲返回光标所在行数返回Sub 返回光标所在行数()x = ActiveCell.RowRange("A1") = xEnd Sub▲在A1返回当前选中单元格数量返回Sub 在A1返回当前选中单元格数量()[A1] = Selection.CountEnd Sub▲返回当前工作簿中工作表数量返回Sub 返回当前工作簿中工作表数量()t = Application.Sheets.CountMsgBox tEnd Sub▲返回光标选择区域的行数和列数返回Sub 返回光标选择区域的行数和列数()x = Selection.Rows.County = Selection.Columns.CountRange("A1") = xRange("A2") = yEnd Sub▲工作表中包含数据的最大行数返回Sub 包含数据的最大行数()n = Cells.Find("*", , , , 1, 2).RowMsgBox nEnd Sub▲返回A列数据的最大行数返回Sub 返回A列数据的最大行数()n = Range("a65536").End(xlUp).RowRange("B1") = nEnd Sub▲将所选区域文本插入新建文本框返回Sub 将所选区域文本插入新建文本框()For Each rag In Selectionn = n & rag.Value & Chr(10)NextActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, ActiveCell.Left +ActiveCell.Width, ActiveCell.Top + ActiveCell.Height, 250#, 100).SelectSelection.Characters.Text = "问题:" & nWith Selection.Characters(Start:=1, Length:=3).Font.Name = "黑体".FontStyle = "常规".Size = 12End WithEnd Sub▲批量插入地址批注返回Sub 批量插入地址批注()On Error Resume NextDim r As RangeIf Selection.Cells.Count > 0 ThenFor Each r In Selectionment.Deleter.AddCommentment.Visible = Falsement.Text Text:="本单元格:" & r.Address & " of " & Selection.AddressNextEnd IfEnd Sub▲批量插入统一批注返回Sub 批量插入统一批注()Dim r As Range, msg As Stringmsg = InputBox("请输入欲批量插入的批注", "提示", "随便输点什么吧")If Selection.Cells.Count > 0 ThenFor Each r In Selectionr.AddCommentment.Visible = Falsement.Text Text:=msgNextEnd IfEnd Sub▲以A1单元内容批量插入批注返回Sub 以A1单元内容批量插入批注()Dim r As RangeIf Selection.Cells.Count > 0 ThenFor Each r In Selectionr.AddCommentment.Visible = Falsement.Text Text:=[a1].TextNextEnd IfEnd Sub▲不连续区域插入当前文件名和表名及地址返回Sub 批量插入当前文件名和表名及地址()For Each mycell In Selectionmycell.FormulaR1C1 = "[" + + "]" + +"!" + mycell.AddressNextEnd Sub▲不连续区域录入当前单元地址返回Sub 区域录入当前单元地址()For Each mycell In Selectionmycell.FormulaR1C1 = mycell.AddressNextEnd Sub▲连续区域录入当前单元地址返回Sub 连续区域录入当前单元地址()Selection = "=ADDRESS(ROW(),COLUMN(),4,1)"Selection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseEnd Sub▲返回当前单元地址返回Sub 返回当前单元地址()d = ActiveCell.Address[A1] = dEnd Sub▲不连续区域录入当前日期返回Sub 区域录入当前日期()Selection.FormulaR1C1 = Format(Now(), "yyyy-m-d")End Sub▲不连续区域录入当前数字日期返回Sub 区域录入当前数字日期()Selection.FormulaR1C1 = Format(Now(), "yyyymmdd")End Sub▲不连续区域录入当前日期和时间返回Sub 区域录入当前日期和时间()Selection.FormulaR1C1 = Format(Now(), "yyyy-m-d h:mm:ss")End Sub▲不连续区域录入对勾返回Sub 批量录入对勾()Selection.FormulaR1C1 = "√"End Sub▲不连续区域录入当前文件名返回Sub 批量录入当前文件名()Selection.FormulaR1C1 = End Sub▲不连续区域添加文本返回Sub 批量添加文本()Dim s As RangeFor Each s In Selections = s & "文本内容"NextEnd Sub▲不连续区域插入文本返回Sub 批量插入文本()Dim s As RangeFor Each s In Selections = "文本内容" & sNextEnd Sub▲从指定位置向下同时录入多单元指定内容返回Sub 从指定位置向下同时录入多单元指定内容()Dim arrarr = Array("1", "2", "13", "25", "46", "12", "0", "20")[B2].Resize(8, 1) = Application.WorksheetFunction.Transpose(arr)End Sub▲按aa工作表A列的内容排列工作表标签顺序返回Sub 按aa工作表A列的内容排列工作表标签顺序()Dim I%, str1$I = 1Sheets("aa").SelectDo While Cells(I, 1).Value <> ""str1 = Trim(Cells(I, 1).Value)Sheets(str1).SelectSheets(str1).Move after:=Sheets(I)I = I + 1Sheets("aa").SelectLoopEnd Sub▲以A1单元文本作表名插入工作表返回Sub 以A1单元文本作表名插入工作表()Dim nm As Stringnm = [a1]Sheets.Add = nmEnd Sub▲删除全部未选定工作表返回Sub 删除全部未选定工作表()Dim sht As Worksheet, n As Integer, iFlag As BooleanDim ShtName() As Stringn = ActiveWindow.SelectedSheets.CountReDim ShtName(1 To n)n = 1For Each sht In ActiveWindow.SelectedSheetsShtName(n) = n = n + 1NextApplication.DisplayAlerts = FalseFor Each sht In SheetsiFlag = FalseFor i = 1 To n - 1If ShtName(i) = TheniFlag = TrueExit ForEnd IfNextIf Not iFlag Then sht.DeleteNextApplication.DisplayAlerts = TrueEnd Sub▲工作表标签排序返回Sub 工作表标签排序()Dim i As Long, j As Long, nums As Long, msg As Longmsg = MsgBox("工作表按升序排列请选 '是[Y]'. " & vbCrLf & vbCrLf & "工作表按降序排列请选 '否[N]'", vbYesNoCancel, "工作表排序")If msg = vbCancel Then Exit Subnums = Sheets.CountIf msg = vbYes Then 'Sort ascendingFor i = 1 To numsFor j = i To numsIf UCase(Sheets(j).Name) < UCase(Sheets(i).Name) ThenSheets(j).Move Before:=Sheets(i)End IfNext jNext iElse 'Sort descendingFor i = 1 To numsFor j = i To numsIf UCase(Sheets(j).Name) > UCase(Sheets(i).Name) ThenSheets(j).Move Before:=Sheets(i)End IfNext jNext iEnd IfEnd Sub▲定义指定工作表标签颜色返回Sub 定义指定工作表标签颜色()Sheets("Sheet1").Tab.ColorIndex = 46End Sub▲在目录表建立本工作簿中各表链接目录返回Sub 在目录表建立本工作簿中各表链接目录()Dim s%, Rng As RangeOn Error Resume NextSheets("目录").ActivateIf Err = 0 ThenSheets("目录").UsedRange.DeleteElseSheets.Add = "目录"End IfFor i = 1 To Sheets.CountIf Sheets(i).Name <> "目录" Thens = s + 1Set Rng = Sheets("目录").Cells(((s - 1) Mod 20) + 1, (s - 1) \ 20 + 1 + 1)Rng = Format(s, " 0") & ". " & Sheets(i).NameActiveSheet.Hyperlinks.Add Rng, "#" & Sheets(i).Name & "!A1",ScreenTip:=Sheets(i).NameEnd IfNextSheets("目录").Range("b:iv").EntireColumn.ColumnWidth = 20End Sub▲建立工作表文本目录返回Sub 建立工作表文本目录()Sheets.Add before:=Sheets(1)Sheets(1).Name = "目录"For i = 2 To Sheets.CountCells(i - 1, 1) = Sheets(i).Name'Sheets(1).Hyperlinks.Add Cells(i - 1, 1), "#" & Sheets(i).Name & "!A1" '添加超链接NextEnd Sub▲查另一文件的全部表名返回Sub 查另一文件的全部表名()On Error Resume NextDim i%Dim sh As WorksheetApplication.ScreenUpdating = FalseWorkbooks.Open Filename:=ThisWorkbook.Path & "\2.xls"Windows("1.xls").Activate '当前文件名称Sheets("Sheet1").Select '当前表名称i = 1 '将表名称返回到第1行For Each sh In Workbooks("2.xls").WorksheetsCells(i, 1) = '将表名称返回到第1列i = i + 1 '返回每个表名称向下移动1行Next shWindows("2.xls").Close '关闭对象文件Application.ScreenUpdating = TrueEnd Sub▲当前单元录入计算机名返回Sub 当前单元录入计算机名()Selection = Environ("COMPUTERNAME")'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲当前单元录入计算机用户名返回 Sub 当前单元录入计算机用户名()Selection = Environ("Username")'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲解除全部工作表保护返回Sub 解除全部工作表保护()Dim n As IntegerFor n = 1 To Sheets.CountSheets(n).UnprotectNext nEnd Sub▲为指定工作表加指定密码保护表返回Sub 为指定工作表加指定密码保护表()Sheet10.Protect Password:="123"End Sub▲在有密码的工作表执行代码返回Sub 在有密码的工作表执行代码()Sheets("1").Unprotect Password:=123 '假定表名为“1”,密码为“123” 打开工作表Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True '隐藏C列空值行Sheets("1").Protect Password:=123 '重新用密码保护工作表End Sub▲执行前需要验证密码的宏(控件按钮代码)返回Private Sub CommandButton1_Click()If InputBox("请输入密码:") <> "123" Then '密码是123MsgBox "密码错误,按确定退出!", 64, "提示"Exit SubEnd IfCells(1, 1) = 10End SubSub 执行前需要验证密码的宏()If InputBox("请输入您的使用权限:", "系统提示") = 123 Then重排窗口 '要执行的宏代码或宏名称ElseMsgBox "对不起,您没有使用该宏的权限,按确定键后退出!"End IfEnd Sub▲拷贝A1公式和格式到A2返回Sub 拷贝A1公式到A2()Workbooks("临时表").Sheets("表1").Range("A1").CopyWorkbooks("临时表").Sheets("表2").Range("A2").PasteSpecialEnd Sub▲复制单元数值返回Sub 复制数值()s = Workbooks("book1").Sheets("Sheet1").Range("A1:A2")Workbooks("book2").Sheets("Sheet1").Range("A1:A2") = sEnd Sub▲插入数值条件格式返回Sub 插入数值条件格式()Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _Formula1:="70"Selection.FormatConditions(1).Interior.ColorIndex = 45Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _Formula1:="55"Selection.FormatConditions(2).Interior.ColorIndex = 39Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _Formula1:="60"Selection.FormatConditions(3).Interior.ColorIndex = 34End Sub▲插入透明批注返回Sub 插入透明批注()Selection.AddCommentment.Visible = FalseDim XS As WorksheetFor i = 1 To ments.Countments(i).Text "透明批注"ments(i).Shape.Fill.Visible = msoFalseNextEnd Sub▲添加文本返回Sub 添加文本()Selection = Selection + "×" '不可在数字后添加文本'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲光标定位到指定工作表A列最后数据行下一单元返回Sub 光标定位到指定工作表A列最后数据行下一单元()a = Sheets("数据库").[a65536].End(xlUp).RowSheets("数据库").SelectRange("A" & a + 1).SelectEnd Sub▲定位选定单元格式相同的全部单元格返回Sub 定位选定单元格式相同的全部单元格()Dim FirstCell As Range, FoundCell As RangeDim AllCells As RangeWith Application.FindFormat.Clear.NumberFormatLocal = Selection.NumberFormatLocal.HorizontalAlignment = Selection.HorizontalAlignment.VerticalAlignment = Selection.VerticalAlignment.WrapText = Selection.WrapText.Orientation = Selection.Orientation.AddIndent = Selection.AddIndent.IndentLevel = Selection.IndentLevel.ShrinkToFit = Selection.ShrinkToFit.MergeCells = Selection.MergeCells = .Font.FontStyle = Selection.Font.FontStyle.Font.Size = Selection.Font.Size.Font.Strikethrough = Selection.Font.Strikethrough.Font.Subscript = Selection.Font.Subscript.Font.Underline = Selection.Font.Underline.Font.ColorIndex = Selection.Font.ColorIndex.Interior.ColorIndex = Selection.Interior.ColorIndex.Interior.Pattern = Selection.Interior.Pattern.Locked = Selection.Locked.FormulaHidden = Selection.FormulaHiddenEnd WithSet FirstCell = edRange.Find(what:="", searchformat:=True)If FirstCell Is Nothing ThenExit SubEnd IfSet AllCells = FirstCellSet FoundCell = FirstCellDoSet FoundCell = edRange.Find(After:=FoundCell, what:="",searchformat:=True)If FoundCell Is Nothing Then Exit DoSet AllCells = Union(FoundCell, AllCells)If FoundCell.Address = FirstCell.Address Then Exit DoLoopAllCells.SelectEnd Sub▲按当前单元文本定位返回Sub 按当前单元文本定位()ABC = SelectionDim aa As RangeFor Each a In edRangeIf a Like ABC ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲按固定文本定位返回Sub 文本定位()Dim aa As RangeFor Each a In edRangeIf a Like "*合计*" ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲删除包含固定文本单元的行或列返回Sub 删除包含固定文本单元的行或列()DoCells.Find(what:="哈哈").ActivateSelection.EntireRow.Delete '删除行' Selection.EntireColumn.Delete '删除列Loop Until Cells.Find(what:="哈哈") Is NothingEnd Sub▲定位数据及区域以上的空值返回Sub 定位数据及区域以上的空值()Dim aa As RangeFor Each a In edRangeIf a Like 〈0 ThenIf aa Is Nothing ThenSet aa = a.CellsElseSet aa = Union(aa, a.Cells)End IfEnd IfNextaa.SelectEnd Sub▲右侧单元自动加5(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)Application.EnableEvents = FalseTarget.Offset(0, 1) = Target + 5Application.EnableEvents = TrueEnd Sub▲当前单元加2返回Sub 当前单元加2()Selection = Selection + 2'Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容End Sub▲A列等于A列减B列返回Sub A列等于A列减B列()For i = 1 To 23Cells(i, 1) = Cells(i, 1) - Cells(i, 2)NextEnd Sub▲用于光标选定多区域跳转指定单元(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal T As Range)a = Array([b6:b7], [e6], [h6])For i = 0 To 2If Not Application.Intersect(T, a(i)) Is Nothing Then[a1].Select: Exit ForEnd IfNextEnd Sub▲将A1单元录入的数据累加到B1单元(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)Dim t As LongIf Target.Address = "$A$1" Thent = Sheet1.Range("$B$1").ValueSheet1.Range("$B$1").Value = t + Target.ValueEnd IfEnd Sub▲在指定颜色区域选择单元时添加/取消"√"(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim myrg As RangeFor Each myrg In TargetIf myrg.Interior.ColorIndex = 37 Then myrg = IIf(myrg <> "√", "√", "")NextEnd Sub▲在指定区域选择单元时添加/取消"√"(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim Rng As RangeIf Target.Count <= 15 ThenIf Not Application.Intersect(Target, Range("D6:D20")) Is Nothing ThenFor Each Rng In SelectionWith RngIf .Value = "" Then.Value = "√"Else.Value = ""End IfEnd WithNextEnd IfEnd IfEnd Sub▲双击指定单元,循环录入文本(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)If T.Address <> "$A$1" Then Exit SubCancel = TrueT = IIf(T = "好", "中", IIf(T = "中", "差", "好"))End Sub双击指定单元,循环录入文本(工作表代码)Dim nums As BytePrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$A$1" Thennums = nums Mod 3 + 1Target = Mid("上中下", nums, 1)Target.Offset(1, 0).SelectEnd IfEnd Sub▲单元区域引用(工作表代码)返回Private Sub Worksheet_Activate()Sheet1.Range("A1:B3").Value = Sheet2.Range("A1:B3").ValueEnd Sub▲在指定区域选择单元时数值加1(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Not Application.Intersect([a1:e10], Target) Is Nothing ThenTarget = Val(Target) + 1End IfEnd Sub▲混合文本的编号返回Sub 混合文本的编号()Worksheets(1).Range("B2").Value = "北京" & (--(Mid(Worksheets(1).Range("B2"), 3,100)) + 1)End Sub▲指定区域单元双击数据累加(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Not Application.Intersect([A1:Y100], Target) Is Nothing Thenoldvalue = Val(Target.Value)inputvalue = InputBox("请输入数量,按ENTER键确认!", "数值累加器")Target.Value = oldvalue + inputvalueEnd IfEnd Sub▲选择单元区域触发事件(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Address = "$A$1:$B$2" ThenMsgBox "你选择了$A$1:$B$2单元"End IfEnd Sub▲当修改指定单元内容时自动执行宏(工作表代码)返回Private Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [B3:B4]) Is Nothing Then重排窗口End IfEnd Sub▲被指定单元内容限制执行宏返回Sub 被指定单元限制执行宏()If Range("$A$1") = "关闭" Then Exit Sub窗口End Sub▲双击单元隐藏该行(工作表代码)返回Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Rows(Target.Row).Hidden = TrueEnd Sub▲高亮显示行(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Cells.Interior.ColorIndex = 2Rows("1:2").Interior.ColorIndex = 40 '保持1至2行的颜色推荐39,22,40,Rows(Target.Row).Interior.ColorIndex = 35 '高亮推荐颜色35,20,24,34,37,40,15End Sub▲高亮显示行和列(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal Target As Range)Cells.Interior.ColorIndex = xlNoneRows(Target.Row).Interior.ColorIndex = 34Columns(Target.Column).Interior.ColorIndex = 34End Sub▲为指定工作表设置滚动范围(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)Sheet1.ScrollArea = "A1:M30"End Sub▲在指定单元记录打印和预览次数(工作簿代码)返回Private Sub Workbook_BeforePrint(Cancel As Boolean)Range("A1") = 1 + Range("A1")End Sub▲自动数字金额转大写(工作表代码)返回Private Sub Worksheet_Change(ByVal M As Range)On Error Resume Nexty = Int(Round(100 * Abs(M)) / 100)j = Round(100 * Abs(M) + 0.00001) - y * 100f = (j / 10 - Int(j / 10)) * 10A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "角", IIf(y < 1,"", IIf(f > 1, "零", "")))c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") & "分")M = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A & b & c))End Sub▲将全部工作表的A1单元作为单击按钮(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)If Target.Address = "$A$1" ThenCall 宏名End IfEnd Sub▲闹钟——到指定时间执行宏(工作簿代码)返回Private Sub Workbook_Open()Application.OnTime ("11:45:00"), "提示1" '宏名字Application.OnTime ("12:00:00"), "提示2" '宏名字End Sub▲改变Excel界面标题的宏(工作簿代码)返回Private Sub Workbook_Open()Application.Caption = "春节快乐"End Sub▲在指定工作表的指定单元返回光标当前多选区地址(工作簿代码)返回Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target AsRange)Worksheets("表2").Range("A1") = Target.Address(0, 0)End Sub▲B列录入数据时在A列返回记录时间(工作表代码)返回Public Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 2 ThenTarget.Offset(, -1) = NowEnd IfEnd Sub▲当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)返回Public Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [A1:A1000]) Is Nothing ThenIf Target.Column = 1 ThenTarget.Offset(, 1) = DateTarget.Offset(, 2) = TimeEnd IfEnd IfEnd SubPublic Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, [A1:A1000]) Is Nothing ThenIf Target.Column = 1 ThenTarget.Offset(, 1) = Format(Now(), "yyyy-mm-dd")Target.Offset(, 2) = Format(Now(), "h:mm:ss")End IfEnd IfEnd Sub▲指定单元显示光标位置内容(工作表代码)返回Private Sub Worksheet_SelectionChange(ByVal T As Range)Sheets(1).Range("A1") = SelectionEnd Sub▲每编辑一个单元保存文件返回Private Sub Worksheet_Change(ByVal Target As Range)ThisWorkbook.SaveEnd Sub▲指定允许编辑区域返回Sub 指定允许编辑区域()ActiveSheet.ScrollArea = "B8:G15"End Sub▲解除允许编辑区域限制返回Sub 解除允许编辑区域限制()ActiveSheet.ScrollArea = ""End Sub▲删除指定行返回Sub 删除指定行()Workbooks("临时表").Sheets("表2").Range("5:5").DeleteEnd Sub▲删除A列为指定内容的行返回Sub 删除A列为指定内容的行()Dim a, b As Integera = Sheet1.[a65536].End(xlUp).RowFor b = a To 2 Step -1If Cells(b, 1).Value = "删除" ThenRows(b).DeleteEnd IfNextEnd Sub▲删除A列非数字单元行返回Sub 删除A列非数字单元行()i = [a65536].End(xlUp).RowRange("A1:A" & i).SpecialCells(xlCellTypeConstants, 2).EntireRow.DeleteEnd Sub▲有条件删除当前行返回Sub 有条件删除当前行()If [A1] = 2 Or [B1] = "删除" ThenSelection.Delete Shift:=xlUpEnd IfEnd Sub▲选择下一行返回Sub 选择下一行()ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.SelectEnd Sub▲选择第5行开始所有数据行返回Sub 选择第5行开始所有数据行A()Dim i%i = Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues,SearchDirection:=xlPrevious).EntireRow.RowRows("5:" & i).SelectEnd SubSub 选择第5行开始所有数据行B()Rows("5:" & Cells.Find("*", , , , 1, 2).Row).SelectEnd Sub▲选择光标或选区所在行返回Sub 选择光标或选区所在行()Selection.EntireRow.Select▲选择光标或选区所在列返回Sub 选择光标或选区所在列()Selection.EntireColumn.SelectEnd Sub▲光标定位到名称指定位置返回Sub 定位()Application.Goto Range(Evaluate("名称"))End Sub▲选择名称定义的数据区返回Sub 选择名称定义的数据区()[数据区].Select '插入名称要使用INDIRECT函数'Range("数据区").Select 或者'Sheet1.Range("数据区").Select 或者End Sub▲选择到指定列的最后行返回Sub 选择到指定列的最后行()Range("C4:G" & [G65536].End(xlUp).Row).SelectEnd Sub▲将Sheet1的A列的非空值写到Sheet2的A列返回Sub 将Sheet1的A列的非空值写到Sheet2的A列()Sheet1.Columns("A:A").SpecialCells(2, 23).SpecialCells(12).Copy Sheet2.[A1]End Sub▲将名称1的数据写到名称2返回Sub Macro2()Range("位置2") = Range("位置1").Value▲单元反选返回Sub 单元反选()Application.DisplayAlerts = FalseApplication.ScreenUpdating = FalseDim raddress As String, taddress As Stringraddress = Selection.Addresstaddress = edRange.AddressWith Sheets.Add.Range(taddress) = 0.Range(raddress) = "=0"raddress = .Range(taddress).SpecialCells(xlCellTypeConstants, 1).Address.DeleteEnd WithActiveSheet.Range(raddress).SelectApplication.ScreenUpdating = TrueEnd Sub▲调整选中对象中的文字返回Sub 调整选中对象中的文字()'文字居中、自动调整大小With Selection.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenter.ReadingOrder = xlContext.Orientation = xlHorizontal.AutoSize = True.AddIndent = FalseEnd WithEnd Sub▲去除指定范围内的对象返回Sub 去除指定范围内的对象()。

Excel自定义格式代码写法大全

Excel自定义格式代码写法大全

23
正数显示存入、负数支出、0平衡 平衡
0
支出
-1189
24
小于1显示百分比, 否则保留两位数
12.00 23.00% 1.60
12 0.23 1.6
25
转为百万
123.12百万
1.23E+08
26
转为万
1.2万
12000
27
转为千
2.31千

2311
28
转为百
1.23百
123
29
转为十
2.3十元
23
excel elexcelexcelex
@@
celexcelexcel

表示隐藏
wew
;;;
_
留出与后面字符一样宽的空位
55
55
0_3
* , "" \ ! 颜色
条件
重复下一次字符,直到充满列宽。
千位分隔符,一般与“#”配合使用,简化数字
显示在自定义格中输入的文本输入的文本 格式化,强制显示。和""用途相同都是显示输入的文本,且输入后会自 动转变为双引号或!表达 与"\"功能一样,而且更强,可以把不能显示出来的一些字符显示出来
7
隐藏0、正值,负值显示正值
2008
0
8
转换百分比,保留2位小数
95.00%
0.95
9
加美元符号、千分符、保留2位小 数
$5,000,000.00
5000000
正数
0.46 0.4555
10
用"_"将数字对齐
负数
-12000.00 -12000

EXCELWPS VBA宏代码大全

EXCELWPS VBA宏代码大全

EXCEL/WPS VBA宏代码大全Application.Dialogs(1).Show是调用打开对话框Application.Dialogs(5或145).Show是调用另存为对话框,Application.Dialogs(6).Show是删除文档Application.Dialogs(7).Show是页面设置Application.Dialogs(8).Show是打印对话框Application.Dialogs(9).Show是选择打印机对话框Application.Dialogs(12).Show是重排窗口设置对话框Application.Dialogs(17).Show宏对话框Application.Dialogs(23).Show设置打印标题Application.Dialogs(26).Show字体设置对话框Application.Dialogs(27).Show显示选项Application.Dialogs(28).Show保护工作表Application.Dialogs(32).Show重算选项Application.Dialogs(39或192).Show排序Application.Dialogs(40).Show序列选项Application.Dialogs(41).Show模拟运算表Application.Dialogs(42或111).Show单元格格式,选择单元格内容的格式Application.Dialogs(43).Show选择单元格字体的排列格式,横排或竖排等Application.Dialogs(44或134或190).Show字体选择Application.Dialogs(45).Show边框格式设置Application.Dialogs(46).Show对单元格的保护或隐藏选项Application.Dialogs(47).Show列宽设置选项Application.Dialogs(52).Show清除对话框Application.Dialogs(53).Show选择性粘贴对话框Application.Dialogs(54).Show删除对话框Application.Dialogs(55).Show插入对话框Application.Dialogs(61或110).Show定义名称对话框Application.Dialogs(62).Show指定名称Application.Dialogs(63或132).Show定位Application.Dialogs(64).Show查找Application.Dialogs(84).Show设置单元格颜色和图案Application.Dialogs(91).Show分列Application.Dialogs(94).Show取消或隐藏工作表选择对话框Application.Dialogs(95).Show工作区视图等选项Application.Dialogs(103).Show选择要激活哪个工作表对话框Application.Dialogs(108).Show复制图片选项Application.Dialogs(119).Show新建对话框Application.Dialogs(127).Show设置行高Application.Dialogs(130).Show替换对话框Application.Dialogs(137).Show拆分当前窗口Application.Dialogs(161).Show设置图表颜色Application.Dialogs(170或171).Show移动当前窗口Application.Dialogs(191).Show合并计算对话框Application.Dialogs(198).Show单变量求解Application.Dialogs(199).Show选定成组工作表Application.Dialogs(200).Show填充成组工作表。

EXCEL单元格格式通用代码

EXCEL单元格格式通用代码

一百二十五 中文小写数字 壹佰贰拾伍 中文大写数字,并加入“元整”字尾 元整 1百2十5 一十九 十九 中文小写数字 中文小写数字,11-19无设置 11-显示为十一而不是一十一
12.54K 以千为单位 1.2536万元 以万元为单位,保留4位小数 1.3万元 以万元为单位,保留1位小数
单元格格式 Format_text G/通用格式 "000.0" #### 00.##
数字 Value 10 10.25 10 1.253
ห้องสมุดไป่ตู้
TEXT(A,B) 值 10 10.3 10 1.25 正数 零 负数 1982/5/6 ########### 星期六 六 Monday 优秀 及格 不及格
说明 常规格式 小数点前面不够三位以0补齐,保留1 位小数,不足一位以0补齐 没用的0一律不显示 小数点前不足两位以0补齐,保留两 位,不足两位不补位 大于0,显示为“正数” 等于0,显示为“零” 小于0,显示为“负数” 按所示形式表示日期 显示为中文星期几全称 显示为中文星期几简称 显示为英文星期几全称 大于等于90,显示为“优秀” 大于等于60,小于90,显示为“及格 ” 小于60,显示为“不及格”
1 正数;负数;零 0 -1 0000-00-00 19820506 0000年00月00日 aaaa 2014/3/1 aaa 2014/3/1 dddd 2007/12/31 90 [>=90]优秀; [>=60]及格;不 60 及格 59 [DBNum1][$804]G/通用格式 [DBNum2][$804]G/通用格式 125 元整 [DBNum3][$804]G/通用格式 [DBNum1][$19 804]G/通用格式 [>20][DBNum1]; 19 [DBNum1]d 0.00,K 12536 #!.0000万元 #!.0,万元

Excel VBA代码 亲测可用

Excel VBA代码 亲测可用

1、打开显示登录窗体代码打开隐藏表格,显示登录窗体private Sub Workbook_open()Application.Visible = falseUserForm1.Showend Sub2、固定账号、密码登录窗体设置(1)制作窗体(2)登录验证Private Sub CommandButton1_Click() If TextBox1 = "admin" ThenIf TextBox2 <> 123 ThenMsgBox "密码错误"Exit SubElseMsgBox "登录成功”"Unload MeApplication.Visible = TrueSheet1.ActivateEnd IfElseMsgBox "账号不存在"End IfEnd Sub(3)退出按钮Private Sub CommandButton2_Click() Unload MeThisWorkbook.CloseEnd Sub(4)打开注册窗体Private Sub CommandButton3_Click() UserForm2.ShowEnd Sub(5)唯一关闭代码Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode <> 1 Then Cancel = TrueEnd Sub3、注册账号(1)制作注册账号窗体(2)注册代码Private Sub CommandButton1_Click()Dim zh As Range, zt As RangeIf TextBox1 = "" Then MsgBox "未填入账户": Exit SubIf TextBox2 <> TextBox3 Then MsgBox "密码不一致": Exit SubSet zh = Sheets("注册").Range("a:a").Find(TextBox1.Text, , , 1)If zh Is Nothing ThenSet zt = Sheets("注册").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) zt = TextBox1.Textzt.Offset(0, 1) = TextBox2.Textzt.Offset(0, 2) = NowMsgBox "注册成功"Unload MeElseMsgBox "账号已经存在,请更换其他账号"End IfEnd Sub4、查找筛选代码Private Sub TextBox1_Change()If Len(TextBox1.Value) = 0 ThenSheet1.AutoFilterMode = FalseElseIf Sheet1.AutoFilterMode = True ThenSheet1.AutoFilterMode = FalseEnd IfSheet1.Range("B7:P" & Rows.Count).AutoFilter _field:=4, Criteria1:="*" & TextBox1.Value & "*"End IfEnd Sub5、多账号密码验证代码Private Sub CommandButton1_Click()If Len(TextBox1) = 0 Then MsgBox "未输入账号": Exit SubDim zh As RangeSet zh = Sheets("注册").Range("a:a").Find(TextBox1.Text, , , 1) If Not zh Is Nothing ThenIf TextBox2.Text <> zh.Offset(0, 1) ThenMsgBox "密码错误"Exit SubElseMsgBox "登录成功"Unload MeApplication.Visible = TrueSheet1.ActivateEnd IfElseMsgBox "账号不存在"End IfEnd Sub6、默认打开第一个工作表Private Sub Workbook_Open()Sheet1.ActivateEnd Sub7、退出保存工作表Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.SaveEnd Sub。

经典Excel VBA代码

经典Excel VBA代码

经典Excel VBA代码1VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。

最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。

Application(Excel程序)篇Application.EnableEvents= True/ False ’启用/禁用所有事件Application.DisplayAlerts=True/False ’显示/关闭警告框提示框Appli cation.ScreenUpdating= True/False ’显示/关闭屏幕刷新Application.StatusBar = "软件报专用" ’在地址栏中显示文本,标题栏用Caption属性Application.Cursor = xlIBeam ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常Application.Ac tivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序Application.TemplatesPath ‘获取工作簿模板的位置Application.CalculateFull ’重新计算所有打开的工作簿中的数据Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档Application.AutoCorrect.AddReplacement "sweek", "软件报" ’自动将输入的"sweek"更正为"软件报"Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框Application.OnTime Now + TimeValue("00:00:45"), "process" ’45分钟后执行指定过程Application.OnTime TimeValue("14:00:00"), " process " ’下午2点执行指定过程Application.OnTime EarliestTime:=TimeValue("14:00:00"), _Procedure:="process", Schedule:=False ’取消指定时间的过程的执行工作簿/工作表篇ActiveWorkbook.Sheets.Count ’获取活动工作薄中工作表数ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetHidden ‘隐藏工作表,与在Excel菜单中执行“格式—工作表—隐藏”操作一样ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel 菜单中执行“格式—工作表—取消隐藏”来重新显示工作表ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVisible ‘显示被隐藏的工作表ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护ActiveSheet.Columns("B").CutActiveSheet.Columns("F").Insert ‘以上两句将B列数据移至F列,原C列后的数据左移ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自动调整当前工作表A列的列宽ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格edRange.Rows.Count ‘当前工作表中已使用的行数ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2 ‘在第3张工作表之前添加2个新的工作表ActiveSheet.Move After:=ActiveWorkbook. _She ets(ActiveWorkbook.Sheets.Count) ’将当前工作表移至工作表的最后Worksheets(Array(“sheet1”,”sheet2”)).Select ’同时选择工作表sheet1和sheet2 edRange.FormatConditions.Delete ‘删除当前工作表中应用的条件格式Cells.Hyperlinks.Delete ‘取消当前工作表中所有单元格的超链接ActiveSheet.PageSetup.RightFooter=A ctiveWorkbook.FullName ‘在页脚显示文件的路径ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮单元格/单元格区域篇edRange.Row ‘获取已使用的单元格区域的第一行的行号Range(“A65536”).End(xlUp).Row ‘返回A列最后一行(即记录的总条数)cell.Range(“A1”).HasFormula ‘检查单元格或单元格区域中的第一个单元格是否含有公式或cell.HasFormula ‘工作表中单元格是否含有公式Target.EntireColumn.Select ‘选择单元格所在的整个列,Target.EntireRow.Select为选择单元格所在的整行ActiveCell.Row ‘活动单元格所在的行号,ActiveCell.Column为活动单元格所在的列数ActiveWindow.ScrollRow = 2 ’将当前工作表窗口滚动到第2行ActiveWindow.ScrollColumn = 5 ’将当前工作表窗口滚动到第5列Worksheets("sheet1").Range("A1:C5").CopyPicture xlScreen, xlBitmap ’将指定的单元格区域的内容复制成屏幕快照Selection.Hyperlinks.Delete ‘删除所选区域的所有链接ActiveSheet.Cells(1, 1).Font.Bold = TRUE ‘Bold属性用于设置字体是否为加粗, Size属性设置字体大小, ColorIndex属性设置字体颜色(其值为颜色索引号), Italic属性设置字型是否为倾斜, Name 属性设置字体名称ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘将单元格的背景色设置为红色IsEmpty (ActiveCell.Value) ’判断活动单元格中是否有值ActiveCell.Value = UCase(ActiveCell.Value) ’将当前单元格中的字符转换成大写ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) ’将活动单元格中的字符串转换成小写ActiveCell.CurrentRegion.Select ’选择当前活动单元格所在的连续的非空区域,也可以用Range(ActiveCell, UsedRange.End(xlDown)).SelectActiveCell.Offset(1,0).Select ’活动单元格下移一行Range(“B2”).Offset(ColumnOffset:=1)或Range(“B2”).Offset(,1) ‘读取指定单元格右侧单元格中的数据Range(“B2”).Offset(Rowo ffset:=-1)或Range(“B2”).Offset(-1) ‘读取指定单元格上一行单元格中的数据Range(“A1”).Copy Range(“B1”) ’复制单元格A1中的内容到B1中Range(“A1:D8”).Copy Range(“H1”) ’将指定单元格区域复制到从H1开始的区域中,用Cut方法可以实现剪切操作ActiveWindow.RangeSelection.Value = "软件报" ’将指定字符串输入到所选单元格区域中窗体(控件)篇Option Explicit ’强制对模块内所有变量进行声明Userform1.Show ‘显示用户窗体Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态Userform1.Hide ‘隐藏用户窗体Unload Userform1 或Unload Me ‘卸载用户窗体Me.Height=Int(0.5 * ActiveWindow.Height) ‘窗体高度为当前活动窗口高度的一半,宽度用ActiveWindow. Width属性boBox1.AddItem Sheets("Shee t1").Cells(1, 1) ‘将指定单元格中的数据添加到复合框中ListBox1.List=MyProduct() ‘将数组MyProduct的值添加到列表框ListBox1中ListBox1.RowSource=”Sheet1!isum” ‘将工作表Sheet1中名为的isum区域的值添加到列表框中ListBox1.Selected(0) ‘选中列表框中的指定的条目ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中选中的条目If MsgBox(“要退出吗?”,vbYesNo)<>vbYes Then Exit Sub ’返回值不为“是”,则退出Config=vbYesNo+vbQuestion+vbDefaultButton2 ’使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮MsgBox “This is the first line.” & vbNewLine & “Second line.” ’在消息框中强制换行,也可用vbCrLf代替vbNewLine。

excel指令大全

excel指令大全

1、编辑公式F2(快捷方式);2、在已有的单元格中批量加入一段固定字符(&命令+ 拖曳);3、F9可计算出选中部分对应的结果;4、Ctrl+`键可快速查看公式内容和公式结果;5、D:D 第D列全部单元格;6、D:H第D列和第H列的所有单元格;7、R2C8 第2行和第8列交叉处的单元格;8、R[2]C[8] 下2行右8行所指的单元格;9、C 当前光标所在位置的单元格;10、$是绝对引用的意思(D3 $D$3);11、绝对引用和相对引用可以用F4键快速切换;12、=DATE(2014,1,4)-TODAY()&"天" 这是一个倒计时的公式;13、=DATE(MID(A4,1,4),MID(A4,5,2),MID(A4,7,2))非日期格式转化成日期格式公式;14、=DATEV ALUE("2013-11-04")表示的是将日期文本转化成所对应的序列号的函数;15、=DATEDIF(A14,TODAY(),"Y") 计算年龄;16、WEEKDAY() 函数用于返回特定日期所对应的星期数;17、year()函数用于返回某制定日期对应的年份;18、year(today())-year(a2)表示计算年龄;19、yearfrac()函数用于返回两个日期之间的天数占全年天数的百分比;20、edate()函数用于返回两个日期之间的天数所占全年天数的百分比;21、emonth()函数用于返回特定日期之前或之后月份中的最后一天日期;22、networkdays()函数用于返回指定两个日期之间完整的工作日数值,不包括周末和指定的假期;23、time()函数用于返回某一特定时间的小数值;24、=TIMEV ALUE("8:30:00")函数可以将任何时间转换成时间小数值;25、minute()从给定的时间中提取分钟数;26、second()从给定的时间中提取秒数;27、hour()从给定的时间中提取时钟数;28、not()求反函数;29、left()是一个文本函数,从特定字符串中提取指定位数的字符串;30、vlookup()false精确查找ture近似查找;31、if(A2>=85,”A”,if(A2>=70,”B”,if(A2>=60,”C”,if(A2<60,”D”))))一个if函数的简单应用主要看清楚括号;32、理解一个if和or组合函数if(or(a2=”硬盘”,a2=”内存”,a2=”cpu”),”电脑设备”,”其他办公用品”)33、个人所得税中if的应用If(“a2<=1000,””,if(a2<=5000,(a2-1000)*0.1,if(a2<=10000,(a2-5000)*0.15+25,if(a2<= 20000,(a2-10000)*0.2+125,(a2-20000)*0.25+375))))34、asc()可以将字符串中的全角英文字符更改为半角英文字符;35、char()用于返回数字代码所对应的字符;36、code()返回文本字符串中的第一个字符所对应的数学代码;37、concatenate()在某列字符后面快速添加固定字符;38、exact()用于测试两个字符串是否完全相同,如果是,返回true;反之,返回false;39、left()从指定的字符串中的最左边开始返回指定书目的字符;40、leftb()从指定的字符串中的最左边开始返回指定书目的字符(以字节为单位);41、len()用于返回字符串的长度;42、mid()用于从文本字符串中提取指定位置开始的特定书目的字符;43、proper()用于将文本字符串中的首字母及任何非首字母之后的首字母转换成大写;44、replace()是使用其他文本字符串并根据指定的字数替换另一文本字符串中的部分文本;45、rept()用于按照给定的次数重复显示文本;46、right()用于返回某个文本字符串中最后一个或几个字符;47、search()用于从文本字符串中查找特定字符或文本字符串的位置编号;48、substitute()用于在文本字符串中,用特定文本来替代文本字符串指定的旧文本;49、text()将数值转换成为按指定数字格式表示的文本;50、trim()删除文本单词之间的单个空格之外的所有空格;51、upper()用于将文本转换成大写形式;52、lower()用于将一个文本字符串中的所有大写字母转换成小写字母;53、dollar()用于按照货币格式将小数四舍五入到指定的位数并转换成文本;54、rmb()按照货币格式将小数四舍五入到指定的位数并转换成文本;55、bahttext()将数字转换成泰语文本并添加前缀“泰铢”;56、value()将代表数字的文本字符串换成数字;57、sum()用于返回某一单元格区域中所有数字之和;58、数组公式必须按组合键(shift+ctrl+enter)才能得到正确结果;59、abs()用于计算指定数值的绝对值;60、ceiling()用于将参数number向上舍入(沿绝对值增大的方向)为最接近的significance的倍数;61、int()用于将指定数值向下取整为最接近的整数;62、trunc()用于将数字的小数部分截去;63、floor()用于将number向下舍入(向零的方向)到最接近的significance的倍数;64、round()用于按指定位数对其数值进行四舍五入;65、mround()用于返回参数按指定基数舍入后的数值;66、roundup()用于按照指定的位数对数值进行向上舍入;67、rounddown()用于按照指定的位数对数值进行向下舍入;68、even()用于指定的数值沿绝对值增大方向取整,并返回最接近的偶数;69、odd()用于将指定的数值沿绝对值增大方向取整,并返回最接近的奇数;70、mod()用于求两个数值相除后的余数,其结果的正负号与除数相同;71、quotient()用于返回两个数值相处后的整数部分,即舍去商的小数部分;72、gcd()用于返回两个或多个整数的最大公约数;73、lcm()计算两个或多个整数的最小公倍数;74、product()求任意长方体的体积;75、power()求任意数值(底数)的三次或多次指数的方根值;76、rand()返回一个大于等于0小于1的随机数如果要生成a、b之间的随机实数,可以使用公式“=rand()*(b-a)+a”如果在某一个单元格内应用公式”=rand()”,然后再编辑状态下按住F9键,将会产生一个变化的随机数;=ROUND(RAND()*99+1,0) 随机自动生成1~100之间的整数值;77、randbetween()用于返回位于两个指定数值之间的一个随机数;78、roman()用于将阿拉伯数字转换成文本形式的罗马数字;79、sign()用于返回数值所对应的符号,整数返回1;零返回0;负数返回-1;80、sqrt()用于返回指定正数值的算术平方根;81、sqrtpi()用于返回指定正数值与π的乘积的平方根值;82、sumproduct()用于在指定的几组数组中,将数组间对应的元素相乘,并返回乘积之和;一个应用:从学生档案表中统计出生年月19930901-19940831之间且性别为”女”de 学生人数————Sumproduct(($E$2:$E$100>=19930901)*($E$2:$E$100<=19940831)*($C$2:$C $100=”女”)) (*有相当于且的作用)83、subtotal()用于返回列表或数据库中的分类汇总;84、sumsq()用于返回所有参数的平方和;85、sumx2my2()用于返回两数组中对应数值的平方差之和;86、sumx2py2()用于返回两数组中对应数值的平方和的总和;87、sumxmy2()用于返回两数组中对应数值之差的平方和;88、mdeterm()用于返回一个数组的矩阵行列式的值;89、minverse()用于返回数组矩阵的逆矩阵;90、mmult()用于返回两数组的矩阵乘积;91、ln()用于求自然底数的对数值;92、exp()用于返回以e为底数,指定指数的幂值;93、log10()求取以10为底数的对数值;94、log()求取指定底数和指数的对数值;95、fact()函数用于求指定正数值的阶乘;96、factdouble()用于返回参数number的半阶乘9!=9*7*5*3*1;97、multinomial()用于返回参数和的阶乘与各参数阶乘乘积的比值;98、将指定角度转换成为弧度A1*pi()/180;99、radians()将角度转换成弧度;100、degrees()将指定的弧度转换成角度;101、sin()求指定角度的正弦值;102、sinh()求指定实数的双曲正弦值;103、cos()求指定角度的余弦值;104、cosh()求指定实数的双曲余弦值;105、tan()求指定角度的正切值;106、tanh()求指定实数的双曲正切值;107、asin()求指定正弦值的角度数;108、asinh()、acos()、acosh()、atan()作用类似;109、atan2()指定x坐标、y坐标的反正切值;110、atanh()求在-1~1范围内指定实数的反双曲正切值;112、amordegrc(资产原值,购入资产的日期,第一个期间结束的日期,资产在使用寿命结束时的残值,期间,折旧率,所使用的年基准) 年基准—0或省略或4,则一年按360天计算,若为1,则按实际天数计算;若为3,则一年按365天计算;计算每个会计期间的折旧值;113、amorling()以法国会计系统计算每个会计期间的折旧值;114、sln(资产原值,可使用年限,折旧后价值)采用直线法计算的固定资产的每月折旧额;115、db(资产原值,资产残值,折旧期限,需要计算折旧的时间,第一年的月份数)使用固定余额递减法计算一笔资产在给定期间内的折旧值;116、ddb()采用双倍余额递减法计算一笔资产在给定期间内的折旧值;117、vdb(资产原值,资产残值,折旧期限,进行折旧计算的起始期间,进行折旧计算的截止期间,余额递减速率,一逻辑值)使用双倍余额递减法或其他指定的方法,返回指定的任何期间内(包括部分期间的资产折旧值);118、syd(资产原值,资产残值,折旧期限,期间)返回某项固定资产按年限总和折旧法计算的指定期间的折旧值;119、pmt(贷款利率,付款时间数,现值,未来值,指定各期的付款时间是在期初1还是期末0);120、ipmt()基于固定利率及等额分期付款方式,返回贷款在某一给定期限内的利息偿还额;121、ppmt()基于固定利率及等额分期付款方式,返回贷款在某一给定期间内的本金偿还额;122、cumipmt()返回一笔贷款在给定的两个期间累计偿还的利息数额;123、cumprinc()用于返回一笔贷款在给定的两个期间累计偿还的本金数额;124、fv()基于固定利率及等额分期付款方式,返回某项投资的未来值;125、nper()基于固定利率及等额分期付款方式,返回某项投资(或贷款)的总期数;126、npv()用于通过使用贴现率以及一系列未来之处(负值)和收入(正值),返回一项投资的净现值;127、xnpv()用于返回一组不定期现金流的净现值;128、pv()用于返回投资的现值,即一系列未来付款的当前值的累积和;129、fvschedule()计算某项投资在可变利率下的未来值;130、ispmt()用于计算特定投资期内要支付的利息额;131、irr()返回由数值代表的一组现金流的内部收益率;132、mirr()返回由数值代表的一组现金流的修正内部收益率;133、xirr()返回一组不定期现金流的内部收益率;134、rate()用于返回年金的各期利率;135、accrint()计算有价证券定期应付利息金额;136、accrintm()计算有价债券一次性应付利息金额;137、coupdaybs()返回当前付息期内截止到成交日的天数;138、coupdays()用于返回成交日所在的付息期的天数;139、coupdaysnc()用于返回从成交日到下一付息日之间的天数;140、coupncd()返回一个表示在成交日之后下一个付息日的序列号;141、coupnum()计算债券成交日到到期日之间的利息应付次数;142、couppcd()计算债券成交之日之前的上一个付息日期;143、disc()用于返回有价证券的贴现率;144、intrate()计算债券的一次性付息利率;145、oddfprice()计算债券首期付息日的价格;146、oddfyield()计算债券首期付息日的收益率;147、oddlprice()计算债券末期付息日的价格;148、oddlyield()计算债券末期付息日的收益率;149、price()计算面值$100债券的发行价格;150、pricedisc()计算$100面值债券的折价发行价格;151、pricemat()计算到期付息的$100面值的债券的发行一样;152、yield()计算$100面值债券的收益率;153、yielddisc()用于返回折价发行的有价债券的年收益率;154、yieldmat()计算到期付息的有价证券的年收益率;155、received()计算购买债券到期的总回报金额;156、tbillprice()用于返回面值$100的国库券的价格;157、tbillyield()用于返回国库券的收益率;168、duration()计算定期债券的修正期限;169、mduration()计算定期债券macauley修正期限;170、effect()利用给定的名义年利率和一年中的复利期数;171、nominal()基于给定的实际利率和年复利期数,返回名义年利率;172、dollarde()将以分数表示的证券价格转换成以小数表示的证券价格;173、dollarfr()将以小数表示的证券价格转换成以分数表示的证券价格;174、average()用于计算所有参数的算术平均值;175、avedev()用于返回一组数据与其均值的绝对偏差的平均值(测定数据的离散程度);176、averageif()用于返回某个区域内满足给定条件的所有单元格的平均值(算术平均值);177、count()返回数字参数的个数;178、counta()返回包含任何值(包括数字、文本、逻辑值)的参数列表中的非空值单元格个数或参数个数;179、countblank()用于计算某个单元格区域中空白单元格的数目;180、countif()用于计算单元格区域中满足给定条件的单元格的个数;181、countifs()用于计算某个区域中满足多重条件的单元格数目;182、large()返回某一个数据集中的某个最大值;183、small()用于返回某一数据集中的某个最小值;184、max()用于返回数据集中的最大数值;185、min()用于返回数据集中的最小值;186、rank()用于返回一个数值在一组数值中的排位;187、percentrank()用于返回特定数值在一个数据集中的百分比排位;188、percentile()返回数值区域的k百分点对应数值;189、permut()用于返回从给定数目的元素集合中选取的若干元素的组合数;190、median()用于返回给定数值集合的中位数;191、mode()统计出一组数据中哪个数据出现次数最多;192、quartile()用于返回一组数据的四分位数;193、binomdist()用于返回一元二项分布的概率值;194、chidist()返回X2分布的单尾概率;195、chiinv()用于返回X2分布单尾概率的反函数值;196、expondist()求指定数值的指数分布;197、fdist()用于返回F概率分布,它可以确定两个数据系列是否存在变化程度上的不同;198、gammadist()用于返回伽马分布,用它研究具有偏态分布的变量,通常用于排队分析;199、gammainv()用于返回伽马累计分布函数的反函数;200、gammaln()用于返回伽马函数的自然对数;201、kurt()用于返回数据集的峰值;202、normdist()用于返回给定平均值和标准偏差的正态分布函数值;203、normsdist()求指定数值的标准正态分布累计分布;204、norminv()用于返回指定平均值和标准偏差的正态累积分布函数的反函数值;205、negbinomdist()用于返回负二项式分布;206、lognormdist()用于返回x的对数累计分布函数值;207、loginv()用于返回x的对数正态累积分布函数的反函数值;208、hypgeomdist()用于返回超几何分布;209、prob()用于返回区域中的数值落在指定区间内的概率;210、poisson()用于返回泊松分布;211、skew()返回分布的偏斜度;212、standardize()返回以mean为平均值,以standard_dev为标准偏差的分布的正太花数值;213、tdist()返回指定数值和自由度的学生t分布的百分位点;214、tinv()返回作为概率和自由度函数的t分布的t值;215、ttest()用于返回与学生t检验相关的概率;216、weibull()用于返回韦伯分布,进行可靠性分析;217、betadist()返回累积beta分布的概率密度函数;218、betainv()返回指定的beta分布的累积分布函数的反函数值;219、fisher()返回点x的fisher变换,该变换生成一个正态分布二非偏斜的函数;220、fisherinv()返回fisher变换的反函数值;221、critbinom()返回使累积二项式分布小于或等于临界值的最小值;222、frequency()计算数值在某个区域内的出现频率,然后返回一个垂直数组;223、ztest()返回z检验的单尾概率值;224、var()用于估算样本方差;225、vara()用来估算给定样本的方差,与var的区别在于文本和逻辑值(true和false)也将参与计算;226、varp()用于计算样本总体的方差;227、varpa()用于计算样本总体的方差(包括文本);228、stdev()用于估算样本的标准偏差,即反应数据相对于平均值(mean)的离散程度;229、stdeva()用于计算基于给定样本的标准偏差,包括true和false等逻辑值;230、stdevp()用于返回整个样本总体的标准偏差,它反映了样本总体相对于平均值(mean)的离散程度;231、stdevpa()用于计算样本总体的标准偏差,文本值和逻辑值也参与计算;232、confidence()用于返回一个值,利用该值可以构建总体平均值的置信区间;233、trend()用于返回一条线性回归拟合线的值;234、correl()返回两个不同事物之间的相关系数;235、devsq()返回数据点与各自样本平均值的偏差的平方和;236、geomean()用于返回正数数组或数据区域的几何平均值;237、growth()用于对给定的数据预测指数增长值;238、linest()使用最小二乘法对已经数据进行最佳直线拟合,并返回描述此直线的数组;239、logest()在回归分析中logest函数,计算最符合观测数据组的指数回归拟合曲线,并返回描述该曲线的数值数组;240、steyx()用于返回通过线性回归法计算每个x的y预测值时所产生的标准误差,标准误差用来度量根据单个x变量计算出的y预测值的误差量;241、covar()返回协方差;242、chitest()返回独立性检验值;243、forecast()根据预测点预测出未来考试成绩;244、intercept() 计算学生考试成绩的线性回归直线的截距;245、psq()返回学生考试成绩的pearson成绩矩相关系数的平方;246、dsum()用于返回列表或数据库列中满足指定条件的数字之和;247、daverage()用于返回列表或数据库中满足指定条件的列中数值的平均值;248、dcount()用于返回数据库中或列表中满足指定条件且包含数字的的单元格个数;249、dcounta()用于返回数据库或列表中满足指定条件的非空单元格个数;250、dget()用于从列表或数据库的列中提取符合指定条件的单个值;251、dmax()用于返回列表或数据库中的列中满足指定条件的最大数值;252、dmin()用于返回列表或数据库中的列中满足指定条件的最小数值;253、dproduct()用于返回列表或数据库中的列中满足指定条件的数值的乘积;254、dstdev()用于返回列表或数据库中的列中满足指定条件的记录字段(列)中的数字作为一个样本估算出的样本总体标准偏差;255、dvar()用于返回列表或数据库中的列中满足指定条件的记录字段(列)中的数字作为一个样本估算出的样本总体方差;256、dvarp()用于返回列表或数据库中的列中满足指定条件的记录字段(列)中的数字作为样本总体估算出的样本总体方差;257、address()用于按照给定的行号和列标,建立文本类型的单元格地址;258、areas()用于返回引用中包含的区域个数;259、choose()用于从给定的参数中返回指定的值;260、column()用于返回给定引用的列标;261、row()返回引用的行号;262、rows()用于返回引用或数组的行数;263、lookup()用于从单行或单列区域或者从一个数组返回值,具有向量型和数组型两组形式;264、hlookup()用于在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行出的数值;265、vlookup()用于在表格或数值数组的首列查找指定的值,并由此返回表格或数组当前行中指定列处的值;266、match()用于返回在指定方式下与指定数值匹配的数组中元素的对应位置;267、index()用于返回数据或数组中的元素之,此元素由行序号和列序号的索引值给定;268、indirect()返回由文本字符串指定的引用,并立即对引用进行计算,并显示内容;269、offset()以指定的引用为参考系,通过给定的偏移量得到新的引用,返回的引用可以为一个单元格或单元格区域,并可以指定返回的行数或列数;270、transpose()将表格中的行列标识项相互转置;271、hyperlink()用于创建一个快捷方式(跳转),打开存储在网络服务器、intranet 或internet中的文件;272、cell()用于返回在某一引用区域的左上角单元格的格式、位置或内容等信息;273、info()用于返回有关当前操作环境的信息;274、type()返回数值的类型,如日期型数据、文本型数据、逻辑值等;275、error.type()用于返回对应于Microsoft Excel2007中某一错误值的数字;276、iseven()用于判断指定值是否为偶数,如果是则返回true,不是则返回false;277、isodd()用于判断指定值是否为奇数;278、isblank()用于判断指定值是否为空值;279、isnumber()用于判断指定数据是否为数字;280、istext()用于判断指定数据是否为文本;281、isnontext()用于判断指定数据是否为非文本;282、islogical()用于判断指定数据是否为逻辑值;283、isref()用于判断指定数据是否为引用;284、isna()用于判断指定值是否为错误值”#N/A”;285、iserr()用于判断指定值是否为错误值#N/A”之外的任何错误值;286、iserror()用于判断指定值是否为任意错误值;287、n()用于返回转化为数值后的值;288、na()用于返回错误值”#N/A”,错误值”#N/A”表示“无法得到有效值”;289、besseli()返回修正bessel函数值;290、besselj()返回bessel函数值;291、bin2oct()将二进制编码转为八进制编码;292、bin2dec()将二进制编码转为十进制编码;293、bin2hex()将二进制编码转为十六进制编码;294、oct2bin()将八进制编码转换为二进制编码;295、oct2dec()将八进制编码转换成十进制编码;296、oct2hex()将八进制编码转换成十六进制编码;297、dec2bin()将十进制编码转换成二进制编码;298、dec2oct()将十进制编码转换成八进制编码;299、hex2bin()将十六进制编码转换成二进制编码;300、hex2oct()将十六进制编码转换成八进制编码;301、hex2dec()将十六进制编码转换成十进制编码;302、convert()将数字从一个度量系统转换到另一个度量系统中;303、erf()返回误差函数在上下限之间的积分;304、complex()将实系数及虚系数转换成x+yi或x+yj形式的复数;305、imabs()用于返回以x+yi或x+yj文本格式表示的复数的绝对值;306、imag()求任意复数的虚系数;307、imconjugate()求任意复数的共轭复数;308、imsum()求任意两个或多个复数的和;309、imdiv()求任意两个复数的商;310、improduct()求任意两个或多个复数的积;311、imexp()求任意复数的指数;312、imsqrt()求任意复数的平方根;313、delta()测试两个数值是否相等;314、gestep()用于比较给定参数的大小;。

(word完整版)Excel VBA常用技巧代码

(word完整版)Excel VBA常用技巧代码

1.删除重复行 (1)2. ActiveX控件的相关操作 (1)3. 单元格内容匹配 (2)4。

单元格填充公式 (3)5。

弹出打开对话框 (3)6. 操作文件夹下的所有工作簿 (3)7. 获取数据区域的最后一行和最后一列 (4)8. 获取列的字母顺序[A~IV] (4)9. 自定义函数返回数组并填充至单元格区域 (4)10. 绘制曲线图 (5)11. 单元格区域拷贝 (5)12. 操纵数据库(查、增、删、改) (6)13。

待定XX (6)1.删除重复行关键字:[a65536].End(xlUp).Row、Offset()、相关双层循环Sub RemoveDuplicate()'删除重复行For i = [a65536].End(xlUp)。

Row — 1 To 1 Step —1 '按倒叙删除For j = [a65536]。

End(xlUp).Row To i + 1 Step —1If Cells(i, 1)。

Value = Cells(j, 1).Value ThenRows(i)。

DeleteEnd IfNextNextEnd SubSub RemoveItem()'删除相邻重复,但不删除隔行重复Dim i As LongWith Range("A2”)’以A2为基准进行单元格偏移Do While .Offset(i, 0)If .Offset(i, 0)。

Value = .Offset(i — 1, 0)。

Value Then 。

Offset(i, 0).EntireRow.Delete i = i + 1LoopEnd WithEnd Sub2.ActiveX控件的相关操作关键字:ActiveX、OLEObjects、ActiveSheet。

OLEObjects遍历控件Dim c As ObjectFor Each c In ActiveSheet.OLEObjectsIf = ”ComboBox” & i Then’…………。

EXCELVBA20个有用的ExcelVBA代码

EXCELVBA20个有用的ExcelVBA代码

EXCELVBA20个有用的ExcelVBA代码1.显示多个隐藏的工作表如果你的工作簿里面有多个隐藏的工作表,你需要花很多时间一个一个的显示隐藏的工作表。

下面的代码,可以让你一次显示所有的工作表Sub UnhideAllWoksheets()Dim ws As WorksheetFor Each ws In ActiveWorkbook.Worksheetsws.Visible = xlSheetVisibleNext wsEnd Sub2.隐藏除了活动工作表外的所有工作表如果你做的报表,希望隐藏除了报表工作表以外的所有工作表,则可以用一下代码来实现:Sub HideAllExcetActiveSheet()Dim ws As WorksheetFor Each ws In ThisWorkbook.WorksheetsIf <> Thenws.Visible = xlSheetHiddenEnd ifNext wsEnd Sub3.用VBA代码按字母的顺序对工作表进行排序如果你有一个包含多个工作表的工作簿,并且希望按字母对工作表进行排序,那么下面的代码,可以派上用场。

Sub SortSheetsTabName()Application.ScreenUpdating = FalseDim ShCount As Integer, i As Integer, j As IntegerShCount = Sheets.CountFor i = 1 To ShCount - 1For j = i + 1 To ShCountIf Sheets(j).Name < Sheets(i).Name ThenSheets(j).Move before:=Sheets(i)End IfNext jNext iApplication.ScreenUpdating = TrueEnd Sub4.一次性保护所有的工作表如果工作薄里面有多个工作表,并且希望保护所有的工作表,那么下面的代码,可以派上用场。

Excel颜色代码

Excel颜色代码
.ColorIndex =56 .ColorIndex =16 .ColorIndex =48 .ColorIndex =15 .ColorIndex =2
天浅蓝青绿
浅绿色 浅黄 淡蓝 玫瑰红 淡紫 茶色 浅蓝 水绿色 酸橙色 金色 浅橙色 橙色 蓝灰 灰色-40% 深青色 海绿色 深绿色 橄榄色 褐色 玫红 靛蓝 灰色-80%
cel 颜色代码
橄榄色 深黄色 酸橙色 黄色 浅黄
.ColorIndex =52 .ColorIndex =12 .ColorIndex =43 .ColorIndex =6 .ColorIndex =36
56
27
28
29
30
Excel 颜色代码
.ColorIndex =53 .ColorIndex =46 .ColorIndex =45 .ColorIndex =44 .ColorIndex =40
.ColorIndex =11 .ColorIndex =5 .ColorIndex =41 .ColorIndex =33 .ColorIndex =37
黑色 深红色 红色 粉红色 玫瑰红
.ColorIndex =1 .ColorIndex =9 .ColorIndex =3 .ColorIndex =7 .ColorIndex =38
褐色 橙色 浅橙色 金色 茶色
深青色 青色 水绿色 青绿 浅青绿
.ColorIndex =49 .ColorIndex =14 .ColorIndex =42 .ColorIndex =8 .ColorIndex =34
深蓝色 蓝色 浅蓝 天蓝 淡蓝
1
黑色
31
2
白色
32
3
红鲜色绿色

EXCEL 常用的宏代码大全

EXCEL 常用的宏代码大全

EXCEL 常用的宏代码大全本示例为设置密码窗口(1)If Application.InputBox("请输入密码:") = 1234 Then[A1] = 1 '密码正确时执行Else: MsgBox "密码错误,即将退出!" '此行与第2行共同设置密码End If本示例为设置密码窗口(1)X = MsgBox("是否真的要结帐?", vbYesNo)If X = vbYes ThenClose本示例为设置工作表密码ActiveSheet.Protect Password:=641112 ' 保护工作表并设置密码ActiveSheet.Unprotect Password:=641112 '撤消工作表保护并取消密码'本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。

For Each w In WorkbooksIf <> Thenw.Close SaveChanges:=TrueEnd IfNext w'每次打开工作簿时,本示例都最大化Microsoft Excel 窗口。

Application.WindowState = xlMaximized'本示例显示活动工作表的名称。

MsgBox "The name of the active sheet is " & '本示例保存当前活动工作簿的副本。

ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"'下述过程激活工作簿中的第四张工作表。

Sheets(4).Activate'下述过程激活工作簿中的第1张工作表。

Worksheets(1).Activate'本示例通过将Saved 属性设为True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。

办公软件学习技巧:Excel VBA常用代码100句

办公软件学习技巧:Excel VBA常用代码100句

Excel VBA常用代码100句(1) Option Explicit 强制对模块内全部变量进行声明(2) Option Base 1 指定数组的第一个下标为1(3) On Error Resume Next 忽视错误连续执行VBA代码,避开消失错误消息(4) On Error GoTo 100 当错误发生时跳转到过程中的某个位置(5) On Error GoTo 0 恢复正常的错误提示(6) Application.DisplayAlerts=False 在程序执行过程中使消失的警告框不显示(7) Application.DisplayAlerts=True 在程序执行过程中恢复显示警告框(8) Application.ScreenUpdating=False 关闭屏幕刷新(9) Application.ScreenUpdating = True 打开屏幕刷新(10) Workbooks.Add() 创建一个新的工作簿(11) Workbooks(“book1.xls”).Activate 激活名为book1的工作簿(12) ThisWorkbook.Save 保存工作簿(13) ThisWorkbook.close 关闭当前工作簿(14) ActiveWorkbook.Sheets.Count 猎取活动工作薄中工作表数(15) 返回活动工作薄的名称(16) ‘返回当前工作簿名称(17) ThisWorkbook.FullName ‘返回当前工作簿路径和名(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘猎取工作表的行数(注:考虑兼容性)(20) Sheets(Sheet1).Name= “Sum” 将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) 添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) 将当前工作表移至工作表的最终(23) Worksheets(Array(“sheet1”,”sheet2”)).Select 同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete 删除工作表1(25) ActiveShee edRange.FormatConditions.Delete ‘删除当前工作表中全部的条件格式(26) Cells.Hyperlinks.Delete ‘取消当前工作表全部超链接(27) ActiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,等同于快捷键Ctrl+A(28) Cells.Select ‘选定当前工作表的全部单元格(29) Range(“A1”).ClearContents 清除活动工作表上单元格A1中的内容。

excel代码大全

excel代码大全

excel代码大全excel代码大全.txt第一次笑是因为遇见你,第一次哭是因为你不在,第一次笑着流泪是因为不能拥有你。

EXCEL宏代码大全本文件部分文章来源于网络,文章版权归原作者所有,如果本站转载的文章侵犯了您的权益请及时联系我们,我们将尽快妥善处理。

本站除部分特别声明禁止转载的专稿外,其他文章可以自由转载,但请务必注明原出处和作者。

000. A列半角内容变红Sub A列半角内容变红() Dim rg As Range, i As Long = False For Each rg In (xlCellTypeConstants, 3) For i = 1 To Len(rg) If Asc(Mid(rg, i, 1))001. A列等于A列减B列Sub A列等于A列减B列() For i = 1 To 23 Cells(i, 1) = Cells(i, 1) - Cells(i, 2) Next End Sub 002. B列录入数据时在A列返回记录时间(工作表代码)Public Sub Worksheet_Change(ByVal Target As Range) If = 2 Then (, -1) = Now End If End Sub003. Excel宏常用代码本大类暂没有内容,以下是关于本类的所有记录集。

004. Sub 以当前日期为名称另存文件()Filename:=Date & ".xls" End Sub005. Sub 启用保存()("File").Controls(4).Enabled = True ("File").Controls(5).Enabled = True End Sub006. Sub 执行前需要验证密码的宏()If InputBox("请输入您的使用权限:", "系统提示") = 123 Then 重排窗口'要执行的宏代码或宏名称Else MsgBox "对不起,您没有使用该宏的权限,按确定键后退出!" End If End Sub007. Sub 选择第5行开始所有数据行B()Rows("5:" & ("*", , , , 1, 2).Row).Select End Sub008. VBA返回公式结果Sub VBA返回公式结果() x = "a2:a100")) Range("B1") = x End Sub009. 不连续区域录入对勾Sub 批量录入对勾() = "√" End Sub010. 不连续区域录入当前单元地址Sub 区域录入当前单元地址() For Each mycell In Selection = Next End Sub011. 不连续区域录入当前数字日期Sub 区域录入当前数字日期() = Format(Now(), "yyyymmdd") End Sub012. 不连续区域录入当前文件名Sub 批量录入当前文件名() = End Sub013. 不连续区域录入当前日期Sub 区域录入当前日期() = Format(Now(), "yyyy-m-d") End Sub014. 不连续区域录入当前日期和时间Sub 区域录入当前日期和时间() = Format(Now(), "yyyy-m-d h:mm:ss") End Sub015. 不连续区域插入当前文件名和表名及地址Sub 批量插入当前文件名和表名及地址() For Each mycell In Selection = "[" + + "]" + + "!" + Next End Sub016. 不连续区域插入文本Sub 批量插入文本() Dim s As Range For Each s In Selection s = "文本内容" & s Next End Sub017. 不连续区域添加文本Sub 批量添加文本() Dim s As Range For Each s In Selection s = s & "文本内容" Next End Sub018. 为当前选定的多单元插入指定名称Sub 为当前选定的多单元插入指定名称() = "临时" Name:="临时", RefersT o:=Selection '或者换用这行代码也可以End Sub 019. 为指定工作表加指定密码保护表Sub 为指定工作表加指定密码保护表() Password:="123" End Sub020. 为指定工作表设置滚动范围(工作簿代码)Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) = "A1:M30" End Sub021. 从指定位置向下同时录入多单元指定内容Sub 从指定位置向下同时录入多单元指定内容() Dim arr arr = Array("1", "2", "13", "25", "46", "12", "0", "20") [B2].Resize(8, 1) = End Sub022. 以A1单元内容批量插入批注Sub 以A1单元内容批量插入批注() Dim r As Range If > 0 Then For Each r In Selection = False Text:=[a1].Text Next End If End Sub 023. 以A1单元文本作表名插入工作表Sub 以A1单元文本作表名插入工作表() Dim nm As String nm = [a1] = nm End Sub024. 以当前日期为新文件名另存文件Sub 以当前日期为新文件名另存文件() & "\" & Format(Now(), "yyyymmdd") & ".xls" End Sub025. 以当前日期和时间为新文件名另存文件Sub 以当前日期和时间为新文件名另存文件()。

excel代码大全

excel代码大全

mandBars("File").Controls(4).Enabled = True Applicaቤተ መጻሕፍቲ ባይዱmandBars("File").Controls(5).Enabled = True End Sub
006. Sub 执行前需要验证密码的宏()
011. 不连续区域录入当前数字日期
Sub 区域录入当前数字日期() Selection.FormulaR1C1 = Format(Now(), "yyyymmdd") End Sub
012. 不连续区域录入当前文件名
Sub 批量录入当前文件名() Selection.FormulaR1C1 = End Sub
025. 以当前日期和时间为新文件名另存文件
Sub 以当前日期和时间为新文件名另存文件() ThisWorkbook.SaveAs
003. Excel宏常用代码
本大类暂没有内容,以下是关于本类的所有记录集。
004. Sub 以当前日期为名称另存文件()
ActiveWorkbook.SaveAs Filename:=Date & ".xls" End Sub
005. Sub 启用保存()
022. 以A1单元内容批量插入批注
Sub 以A1单元内容批量插入批注() Dim r As Range If Selection.Cells.Count > 0 Then For Each r In Selection r.AddComment ment.Visible = False ment.Text Text:=[a1].Text Next End If End Sub
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

excel代码大全.txt第一次笑是因为遇见你,第一次哭是因为你不在,第一次笑着流泪是因为不能拥有你。

EXCEL宏代码大全
本文件部分文章来源于网络,文章版权归原作者所有,如果本站转载的文章侵犯了您的权益请及时联系我们,我们将尽快妥善处理。

本站除部分特别声明禁止转载的专稿外,其他文章可以自由转载,但请务必注明原出处和作者。

000. A列半角内容变红
Sub A列半角内容变红() Dim rg As Range, i As Long = False For Each rg In (xlCellTypeConstants, 3) For i = 1 To Len(rg) If Asc(Mid(rg, i, 1))
001. A列等于A列减B列
Sub A列等于A列减B列() For i = 1 To 23 Cells(i, 1) = Cells(i, 1) - Cells(i, 2) Next End Sub 002. B列录入数据时在A列返回记录时间(工作表代码)
Public Sub Worksheet_Change(ByVal Target As Range) If = 2 Then (, -1) = Now End If End Sub
003. Excel宏常用代码
本大类暂没有内容,以下是关于本类的所有记录集。

004. Sub 以当前日期为名称另存文件()
Filename:=Date & ".xls" End Sub
005. Sub 启用保存()
("File").Controls(4).Enabled = True ("File").Controls(5).Enabled = True End Sub
006. Sub 执行前需要验证密码的宏()
If InputBox("请输入您的使用权限:", "系统提示") = 123 Then 重排窗口'要执行的宏代码或宏名称Else MsgBox "对不起,您没有使用该宏的权限,按确定键后退出!" End If End Sub
007. Sub 选择第5行开始所有数据行B()
Rows("5:" & ("*", , , , 1, 2).Row).Select End Sub
008. VBA返回公式结果
Sub VBA返回公式结果() x = "a2:a100")) Range("B1") = x End Sub
009. 不连续区域录入对勾
Sub 批量录入对勾() = "√" End Sub
010. 不连续区域录入当前单元地址
Sub 区域录入当前单元地址() For Each mycell In Selection = Next End Sub
011. 不连续区域录入当前数字日期
Sub 区域录入当前数字日期() = Format(Now(), "yyyymmdd") End Sub
012. 不连续区域录入当前文件名
Sub 批量录入当前文件名() = End Sub
013. 不连续区域录入当前日期
Sub 区域录入当前日期() = Format(Now(), "yyyy-m-d") End Sub
014. 不连续区域录入当前日期和时间
Sub 区域录入当前日期和时间() = Format(Now(), "yyyy-m-d h:mm:ss") End Sub
015. 不连续区域插入当前文件名和表名及地址
Sub 批量插入当前文件名和表名及地址() For Each mycell In Selection = "[" + + "]" + + "!" + Next End Sub
016. 不连续区域插入文本
Sub 批量插入文本() Dim s As Range For Each s In Selection s = "文本内容" & s Next End Sub
017. 不连续区域添加文本
Sub 批量添加文本() Dim s As Range For Each s In Selection s = s & "文本内容" Next End Sub
018. 为当前选定的多单元插入指定名称
Sub 为当前选定的多单元插入指定名称() = "临时" Name:="临时", RefersTo:=Selection '或者换用这行代码也可以End Sub
019. 为指定工作表加指定密码保护表
Sub 为指定工作表加指定密码保护表() Password:="123" End Sub
020. 为指定工作表设置滚动范围(工作簿代码)
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) = "A1:M30" End Sub
021. 从指定位置向下同时录入多单元指定内容
Sub 从指定位置向下同时录入多单元指定内容() Dim arr arr = Array("1", "2", "13", "25", "46", "12", "0", "20") [B2].Resize(8, 1) = End Sub
022. 以A1单元内容批量插入批注
Sub 以A1单元内容批量插入批注() Dim r As Range If > 0 Then For Each r In Selection = False Text:=[a1].Text Next End If End Sub
023. 以A1单元文本作表名插入工作表
Sub 以A1单元文本作表名插入工作表() Dim nm As String nm = [a1] = nm End Sub
024. 以当前日期为新文件名另存文件
Sub 以当前日期为新文件名另存文件() & "\" & Format(Now(), "yyyymmdd") & ".xls" End Sub
025. 以当前日期和时间为新文件名另存文件
Sub 以当前日期和时间为新文件名另存文件()。

相关文档
最新文档