实用excel宏代码精华版Word文档格式.docx

上传人:b****3 文档编号:17756971 上传时间:2022-12-09 格式:DOCX 页数:8 大小:16.73KB
下载 相关 举报
实用excel宏代码精华版Word文档格式.docx_第1页
第1页 / 共8页
实用excel宏代码精华版Word文档格式.docx_第2页
第2页 / 共8页
实用excel宏代码精华版Word文档格式.docx_第3页
第3页 / 共8页
实用excel宏代码精华版Word文档格式.docx_第4页
第4页 / 共8页
实用excel宏代码精华版Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

实用excel宏代码精华版Word文档格式.docx

《实用excel宏代码精华版Word文档格式.docx》由会员分享,可在线阅读,更多相关《实用excel宏代码精华版Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

实用excel宏代码精华版Word文档格式.docx

ActiveSheet.Paste

A:

A"

).RemoveDuplicates

(1)

Sheets("

).Visible=False

Fori=2ToApplication.WorksheetFunction.CountA(Sheets("

).Range("

))

Sheets(h).Activate

ActiveSheet.UsedRange.AutoFilterField:

=m,Criteria1:

=Sheets("

).Cells(i,1)

Sheets(h).UsedRange.Copy

Sheets.AddAfter:

ActiveSheet.Paste

ActiveSheet.Name=Sheets("

Sheets(h).Select

Next

Selection.AutoFilter

Application.DisplayAlerts=False

).Delete

Application.DisplayAlerts=True

----------------------------------------

Sub重命名活动工作簿()

'

如果利用DIR提取的活动工作簿的名称长度为0(即未保存),那么提示用户,然后退出程序

IfLen(Dir(ActiveWorkbook.FullName))=0ThenMsgBox"

请先保存工作簿"

vbOKOnly,"

友情提示"

:

ExitSub

Dim原名称AsString,新名称AsString,后缀名AsString,路径AsString'

声明变量

原名称=ActiveWorkbook.Name'

提取活动工作簿名称

后缀名=StrReverse(Mid(StrReverse(原名称),1,InStr(StrReverse(原名称),"

."

)))'

提取活动工作簿的后缀名

新名称=Application.InputBox("

请输入文件名"

"

新名称"

Replace(原名称,后缀名,"

"

),,,,,2)'

弹出输入框让用户输入新的名称

If新名称="

False"

ThenEnd'

如果选择了取消键则结束过程

路径=Replace(ActiveWorkbook.FullName,原名称,"

)'

提取活动工作簿的路径

OnErrorResumeNext'

当有错误时继续执行

MkDir"

C:

\"

&

新名称'

在C盘创建一个同名的文件夹(测试字符串能否作为文件名称)

IfErr<

>

0Then'

如果有错误

MsgBox"

您输入的字符不允许作为文件名,请重新输入!

提示

Else'

否则

RmDir"

删除创建的文件夹

ActiveWorkbook.SaveAs路径&

新名称&

后缀名'

将活动工作簿另存为指定的名称(与原文件相同路径下)

Kill路径&

原名称'

删除原来的文件

EndIf

---------------------------------------------------

 

PublicSub工作表保护密码破解()

ConstDBLSPACEAsString=vbNewLine&

vbNewLine

ConstAUTHORSAsString=DBLSPACE&

vbNewLine&

_

作者:

McCormickJEMcGimpsey"

ConstHEADERAsString="

工作表保护密码破解"

ConstVERSIONAsString=DBLSPACE&

"

版本Version1.1.1"

ConstREPBACKAsString=DBLSPACE&

ConstZHENGLIAsString=DBLSPACE&

hfhzi3—戊冥整理"

ConstALLCLEARAsString=DBLSPACE&

该工作簿中的工作表密码保护已全部解除!

!

DBLSPACE&

请记得另保存"

&

注意:

不要用在不当地方,要尊重他人的劳动成果!

ConstMSGNOPWORDS1AsString="

该文件工作表中没有加密"

ConstMSGNOPWORDS2AsString="

该文件工作表中没有加密2"

ConstMSGTAKETIMEAsString="

解密需花费一定时间,请耐心等候!

按确定开始破解!

ConstMSGPWORDFOUND1AsString="

密码重新组合为:

$$"

如果该文件工作表有不同密码,将搜索下一组密码并修改清除"

ConstMSGPWORDFOUND2AsString="

如果该文件工作表有不同密码,将搜索下一组密码并解除"

ConstMSGONLYONEAsString="

确保为唯一的?

Dimw1AsWorksheet,w2AsWorksheet

DimiAsInteger,jAsInteger,kAsInteger,lAsInteger

DimmAsInteger,nAsInteger,i1AsInteger,i2AsInteger

Dimi3AsInteger,i4AsInteger,i5AsInteger,i6AsInteger

DimPWord1AsString

DimShTagAsBoolean,WinTagAsBoolean

Application.ScreenUpdating=False

WithActiveWorkbook

WinTag=.ProtectStructureOr.ProtectWindows

EndWith

ShTag=False

ForEachw1InWorksheets

ShTag=ShTagOrw1.ProtectContents

Nextw1

IfNotShTagAndNotWinTagThen

MsgBoxMSGNOPWORDS1,vbInformation,HEADER

ExitSub

EndIf

MsgBoxMSGTAKETIME,vbInformation,HEADER

IfNotWinTagThen

Else

OnErrorResumeNext

Do'

dummydoloop

Fori=65To66:

Forj=65To66:

Fork=65To66

Forl=65To66:

Form=65To66:

Fori1=65To66

Fori2=65To66:

Fori3=65To66:

Fori4=65To66

Fori5=65To66:

Fori6=65To66:

Forn=32To126

.UnprotectChr(i)&

Chr(j)&

Chr(k)&

Chr(l)&

Chr(m)&

Chr(i1)&

Chr(i2)&

Chr(i3)&

Chr(i4)&

Chr(i5)&

Chr(i6)&

Chr(n)

If.ProtectStructure=FalseAnd_

.ProtectWindows=FalseThen

PWord1=Chr(i)&

Chr(l)&

Chr(m)&

Chr(i3)&

Chr(i4)&

MsgBoxApplication.Substitute(MSGPWORDFOUND1,_

PWord1),vbInformation,HEADER

ExitDo'

Bypassallfor...nexts

Next:

Next:

LoopUntilTrue

OnErrorGoTo0

IfWinTagAndNotShTagThen

MsgBoxMSGONLYONE,vbInformation,HEADER

'

AttemptclearancewithPWord1

w1.UnprotectPWord1

ChecksforallclearShTagtriggeredto1ifnot.

IfShTagThen

Withw1

If.ProtectContentsThen

Dummydoloop

IfNot.ProtectContentsThen

MsgBoxApplication.Substitute(MSGPWORDFOUND2,_

leveragefindingPwordbytryingonothersheets

ForEachw2InWorksheets

w2.UnprotectPWord1

Nextw2

MsgBoxALLCLEAR&

AUTHORS&

VERSION&

REPBACK&

ZHENGLI,vbInformation,HEADER

Sub关闭所有工作簿()

Workbooks.Close

Sub将一个工作簿内的多个工作表拆分为一个个独立的工作簿()

DimshtAsWorksheet

DimMyBookAsWorkbook

SetMyBook=ActiveWorkbook

ForEachshtInMyBook.Sheets

sht.Copy

ActiveWorkbook.SaveAsFileName:

=MyBook.Path&

sht.Name,FileFormat:

=xlNormal'

将工作簿另存为EXCEL默认格式

ActiveWorkbook.Close

文件已经被分拆完毕!

EndSub

---------------------------------------------------Sub所选单元格数值单位转换为万显示()

格式万宏

快捷键:

Ctrl+Shift+Z

Selection.NumberFormatLocal="

0!

.0,万"

Sub提取所有工作表名称()

Dimx

Forx=1ToSheets.Count

Cells(x,1)=Sheets(x).Name

Nextx

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1