Excel常见宏(简洁版)

2019-04-21 19:01

清除剪贴板

Sub 清除剪贴板()

Application.CutCopyMode = False

Application.CommandBars(\End Sub

批量清除软回车

Sub 批量清除软回车()

'也可直接使用Alt+10或13替换

Cells.Replace What:=Chr(10), Replacement:=\ xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub

判断指定文件是否已经打开

Sub 判断指定文件是否已经打开() Dim x As Integer

For x = 1 To Workbooks.Count

If Workbooks(x).Name = \函数.xls\ '文件名称 MsgBox \文件已打开\ Exit Sub End If Next

MsgBox \文件未打开\End Sub

当前文件另存到指定目录

Sub 当前激活文件另存到指定目录()

ActiveWorkbook.SaveAs Filename:=\信件\\\End Sub

另存指定文件名

Sub 另存指定文件名()

ActiveWorkbook.SaveAs ThisWorkbook.Path & \别名.xls\End Sub

以本工作表名称另存文件到当前目录

Sub 以本工作表名称另存文件到当前目录()

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & \End Sub

将本工作表单独另存文件到Excel当前默认目录

Sub 将本工作表单独另存文件到Excel当前默认目录() ActiveSheet.Copy

ActiveWorkbook.SaveAs Filename:=ActiveSheet.Name & \End Sub

以活动工作表名称另存文件到Excel当前默认目录

Sub 以活动工作表名称另存文件到Excel当前默认目录()

ActiveWorkbook.SaveAs Filename:=ActiveSheet.Name & \

xlNormal, Password:=\ , CreateBackup:=False End Sub

另存所有工作表为工作簿

Sub 另存所有工作表为工作簿() Dim sht As Worksheet

Application.ScreenUpdating = False ipath = ThisWorkbook.Path & \For Each sht In Sheets sht.Copy

ActiveWorkbook.SaveAs ipath & sht.Name & \工作表名称为文件名)

'ActiveWorkbook.SaveAs ipath & sht.Name & Trim(sht.[d15]) & \(文件名称 & D15单元内容)

'ActiveWorkbook.SaveAs ipath & Trim(sht.[d15]) & \ '(文件名称为D15单元内容) ActiveWorkbook.Close Next

Application.ScreenUpdating = True End Sub

以指定单元内容为新文件名另存文件

Sub 以指定单元内容为新文件名另存文件()

ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & \End Sub

以当前日期为新文件名另存文件

Sub 以当前日期为新文件名另存文件()

ThisWorkbook.SaveAs ThisWorkbook.Path & \End Sub

Sub 以当前日期为名称另存文件()

ActiveWorkbook.SaveAs Filename:=Date & \ End Sub

以当前日期和时间为新文件名另存文件

Sub 以当前日期和时间为新文件名另存文件()

ThisWorkbook.SaveAs ThisWorkbook.Path & \年\月\日\时\分\秒\End Sub

另存本表为TXT文件

Sub 另存本表为TXT文件() Dim s As String

Dim FullName As String, rng As Range Application.ScreenUpdating = False

FullName = (ActiveSheet.Name & \ '以当前表名为TXT文件名

' FullName = Replace(ThisWorkbook.FullName, \ '以当前文件名为TXT文件名 ' FullName = Replace(ThisWorkbook.FullName, \'以文件名&表名为TXT文件名

Open FullName For Output As #1 '以读写方式打开文件,每次写内容都会覆盖原先的内容

'参考帮助,fullname为文件全名

For Each rng In Range(\ s = s & IIf(s = \|\

If rng.Column = Range(\ Print #1, s & \|\'把数据写到文本文件里 s = \ End If Next

Close #1 '关闭文件

Application.ScreenUpdating = True MsgBox \数据已导入文本\ End Sub

引用指定位置单元内容为部分文件名另存文件

Sub 引用指定位置单元内容为部分文件名另存文件()

ActiveWorkbook.SaveAs Filename:=\信件\\\解答\郎雀.xls\End Sub

将A列数据排序到D列

Sub 将A列数据排序到D列() [d:d] = [a:a].Value

[d:d].Sort Key1:=Range(\

End Sub

将指定范围的数据排列到D列

Sub 将指定范围的数据排列到D列() Dim arr1, arr2, i%, x arr1 = Range(\

ReDim arr2(1 To UBound(arr1, 1) * UBound(arr1, 2), 1 To 1) For Each x In Application.Transpose(arr1) i = i + 1 arr2(i, 1) = x Next x

Range(\End Sub 光标移动

Sub 光标移动()

ActiveCell.Offset(1, 2).Select '向下移动1行,向右移动2列 End Sub

光标所在行上移一行

Sub 光标所在行上移一行() Dim i%

i = Split(ActiveCell.Address, \ If i > 1 Then Rows(i).Cut

Rows(i - 1).Insert Shift:=xlDown End If End Sub

加数据有效限制

Sub 加数据有效限制()

With Selection.Validation .Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=\bigsun010@sina.com\ .IgnoreBlank = False .InCellDropdown = False .InputTitle = \ .ErrorTitle = \ .InputMessage = \

.ErrorMessage = \要奋斗就会有牺牲,死人的事是经常发生的。\ .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = True End With End Sub

取消数据有效限制

Sub 取消数据有效限制() With Selection.Validation .Delete

.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween

.IgnoreBlank = False .InCellDropdown = False .InputTitle = \ .ErrorTitle = \ .InputMessage = \ .ErrorMessage = \

.IMEMode = xlIMEModeNoControl .ShowInput = True

.ShowError = True End With End Sub 重排窗口

Sub 重排窗口()

Application.CommandBars(\

Application.CommandBars(\我的工具\ Windows.Arrange ArrangeStyle:=xlCascade End Sub

按当前单元文本选择打开指定文件单元 Sub 选择打开文件单元() Dim a

a = ActiveCell.Value

Range(a).Worksheet.Activate Range(a).Select End Sub

回车光标向右

Sub 录入光标向右()

Application.MoveAfterReturnDirection = xlToRight End Sub

回车光标向下

Sub 录入光标向下()

Application.MoveAfterReturnDirection = xlDown End Sub

保护工作表时取消选定锁定单元 Sub 取消选定锁定单元()

ActiveSheet.EnableSelection = xlUnlockedCells '用于2000版 End Sub

保存并退出Excel

Sub 保存并退出Excel()

Application.SendKeys (\ActiveWorkbook.Save End Sub

隐藏/显示指定列空值行 Sub 隐藏显示E列空值行()

Range(\(Range(\ End Sub

深度隐藏指定工作表

Sub 深度隐藏指定工作表()

Sheets(\用户名密码\End Sub

隐藏指定工作表

Sub 隐藏指定工作表()

Sheets(\用户名密码\End Sub

隐藏当前工作表

Sub 隐藏当前工作表()

ActiveWindow.SelectedSheets.Visible = false End Sub

返回当前工作表名称

Sub 返回当前工作表名称() wsName = ActiveSheet.Name

MsgBox \当前工作表为:\

End Sub

获取上一次所进入工作簿的工作表名称

Sub 获取上一次所进入工作簿的工作表名称() MsgBox Workbooks(2).ActiveSheet.Name End Sub

按光标选定颜色隐藏本列其他颜色行

Sub 按颜色筛选() '思路就是:其它背景色之行全部隐藏

Dim UseRow, AC, i '首先选择一个有颜色之单元格,然后动行宏,其它颜色所在行隐藏 UseRow = Cells.SpecialCells(xlCellTypeLastCell).Row 'SpecialCells(xlCellTypeLastCell)表示已用区域最后一个单元格

If ActiveCell.Row > UseRow Then

MsgBox \请在要筛选的区域选择一个有颜色之单元格!\错误\Else

AC = ActiveCell.Column

Cells.EntireRow.Hidden = False '显示所有行 For i = 2 To UseRow

If Cells(i, AC).Interior.ColorIndex <> ActiveCell.Interior.ColorIndex Then

Cells(i, AC).EntireRow.Hidden = True '如果2至已用行之单元格的有列之颜色不等于当前单元格颜色则隐藏整行 End If Next End If End Sub

打开工作簿自动隐藏录入表以外的其他表 Private Sub Workbook_Open() Dim i

For i = 1 To Sheets.Count

If Sheets(i).Name <> \录入\Sheets(i).Visible = False End If Next End Sub

除最左边工作表外深度隐藏所有表

Sub 除最左边工作表外深度隐藏所有表() For i = 2 To ThisWorkbook.Sheets.Count Sheets(i).Visible = xlSheetVeryHidden Next End Sub

关闭文件时自动隐藏指定工作表(ThisWorkbook) Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Unprotect

Sheets(\ Sheets(\

ActiveWorkbook.Protect Structure:=True, Windows:=False End Sub

打开文件时提示指定工作表是保护状态(ThisWorkbook) Private Sub Workbook_Open()

If Worksheets(\ MsgBox \保护了.\End If End Sub 插入10行

Sub 插入10行()

Rows(ActiveCell.Row & \ Selection.Insert Shift:=xlDown


Excel常见宏(简洁版).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:网络舆情应对处置的基本方法与实战技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: