Excel常见宏命令

Excel常见宏命令
Excel常见宏命令

清除剪贴板

Sub清除剪贴板()

Application.CutCopyMode=False

https://www.360docs.net/doc/8f15325786.html,mandBars("Task Pane").Visible=False End Sub

批量清除软回车

Sub批量清除软回车()

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

Cells.Replace What:=Chr(10),Replacement:="", LookAt:=xlPart,SearchOrder:=_

xlByRows,MatchCase:=False,SearchFormat:=False, ReplaceFormat:=False

End Sub

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

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

Dim x As Integer

For x=1To Workbooks.Count

If Workbooks(x).Name="函数.xls"Then'文件名称MsgBox"文件已打开"

Exit Sub

End If

Next

MsgBox"文件未打开"

End Sub

当前文件另存到指定目录

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

ActiveWorkbook.SaveAs Filename:="E:\信件\"& https://www.360docs.net/doc/8f15325786.html,

End Sub

另存指定文件名

Sub另存指定文件名()

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

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

Sub以本工作表名称另存文件到当前目录() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\" &https://www.360docs.net/doc/8f15325786.html,&".xls"

End Sub

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

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

ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/8f15325786.html,& ".xls"

End Sub

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

Sub以活动工作表名称另存文件到Excel当前默认目录() ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/8f15325786.html,& ".xls",FileFormat:=_

xlNormal,Password:="",WriteResPassword:="", ReadOnlyRecommended:=False_

,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&https://www.360docs.net/doc/8f15325786.html,&".xls"'(工作表名称为文件名)

'ActiveWorkbook.SaveAs ipath&https://www.360docs.net/doc/8f15325786.html,&

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

ActiveWorkbook.Close

Next

Application.ScreenUpdating=True

End Sub

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

Sub以指定单元内容为新文件名另存文件() ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\"& Sheet1.[A1]

End Sub

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

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

ThisWorkbook.SaveAs ThisWorkbook.Path&"\"&

Format(Now(),"yyyymmdd")&".xls"

End Sub

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

ActiveWorkbook.SaveAs Filename:=Date&".xls"

End Sub

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

Sub以当前日期和时间为新文件名另存文件() ThisWorkbook.SaveAs ThisWorkbook.Path&"\"&

Format(Now(),"yyyy"&"年"&"mm"&"月"&"dd"&"日"& "h"&"时"&"mm"&"分"&"ss"&"秒")&".xls"

End Sub

另存本表为TXT文件

Sub另存本表为TXT文件()

Dim s As String

Dim FullName As String,rng As Range

Application.ScreenUpdating=False

FullName=(https://www.360docs.net/doc/8f15325786.html,&".txt")'以当前表名为TXT文件名

'FullName=Replace(ThisWorkbook.FullName,".xls",".txt") '以当前文件名为TXT文件名

'FullName=Replace(ThisWorkbook.FullName,".xls", https://www.360docs.net/doc/8f15325786.html,&".txt")'以文件名&表名为TXT文件名Open FullName For Output As#1'以读写方式打开文件,每次写内容都会覆盖原先的内容

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

For Each rng In Range("a1").CurrentRegion

s=s&IIf(s="","","|")&rng.Value

If rng.Column=

Range("a1").CurrentRegion.Columns.Count Then

Print#1,s&"|"'把数据写到文本文件里

s=""

End If

Next

Close#1'关闭文件

Application.ScreenUpdating=True

MsgBox"数据已导入文本"

End Sub

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

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

ActiveWorkbook.SaveAs Filename:="E:\信件\"&"解答"& Range("sheet1!a1")&"郎雀.xls"

End Sub

将A列数据排序到D列

Sub将A列数据排序到D列()

[d:d]=[a:a].Value

[d:d].Sort Key1:=Range("D1"),Order1:=xlAscending, Header:=xlYes

End Sub

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

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

Dim arr1,arr2,i%,x

arr1=Range("A1:C3")

ReDim arr2(1To UBound(arr1,1)*UBound(arr1,2),1To1) For Each x In Application.Transpose(arr1)

i=i+1

arr2(i,1)=x

Next x

Range("D1").Resize(i,1)=arr2

End Sub

光标移动

Sub光标移动()

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

光标所在行上移一行

Sub光标所在行上移一行()

Dim i%

i=Split(ActiveCell.Address,"$")(2)

If i>1Then

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@https://www.360docs.net/doc/8f15325786.html,"

.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重排窗口()

https://www.360docs.net/doc/8f15325786.html,mandBars("Web").Visible=False

https://www.360docs.net/doc/8f15325786.html,mandBars("我的工具").Visible=False 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("{ENTER}{ENTER}%fx") ActiveWorkbook.Save

End Sub

隐藏/显示指定列空值行

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

Range("E1:E1000").SpecialCells(xlCellTypeBlanks).EntireRow.Hi dden=Not

(Range("E1:E1000").SpecialCells(xlCellTypeBlanks).EntireRow. Hidden)

End Sub

深度隐藏指定工作表

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

Sheets("用户名密码").Visible=xlVeryHidden

End Sub

隐藏指定工作表

Sub隐藏指定工作表()

Sheets("用户名密码").Visible=false

End Sub

隐藏当前工作表

Sub隐藏当前工作表()

ActiveWindow.SelectedSheets.Visible=false

End Sub

返回当前工作表名称

Sub返回当前工作表名称()

wsName=https://www.360docs.net/doc/8f15325786.html,

MsgBox"当前工作表为:"&wsName

End Sub

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

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

MsgBox Workbooks(2)https://www.360docs.net/doc/8f15325786.html,

End Sub

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

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

Dim UseRow,AC,i'首先选择一个有颜色之单元格,然后动行宏,其它颜色所在行隐藏

UseRow=Cells.SpecialCells(xlCellTypeLastCell).Row

'SpecialCells(xlCellTypeLastCell)表示已用区域最后一个单元格

If ActiveCell.Row>UseRow Then

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

Else

AC=ActiveCell.Column

Cells.EntireRow.Hidden=False'显示所有行

For i=2To 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=1To Sheets.Count

If Sheets(i).Name<>"录入"Then

Sheets(i).Visible=False

End If

Next

End Sub

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

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

For i=2To ThisWorkbook.Sheets.Count

Sheets(i).Visible=xlSheetVeryHidden

Next

End Sub

关闭文件时自动隐藏指定工作表(ThisWorkbook)

Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Unprotect

Sheets("Sheet2").Visible=False

Sheets("Sheet3").Visible=False

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

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

Private Sub Workbook_Open()

If Worksheets("Sheet1").ProtectContents=True Then MsgBox"Sheet1保护了."

End If

End Sub

插入10行

Sub插入10行()

Rows(ActiveCell.Row&":"&ActiveCell.Row+9).Select Selection.Insert Shift:=xlDown

End Sub

全选固定范围内小于0的单元

Sub全选固定范围内小于0的单元()

Dim rng As Range

Dim yvhf

For Each rng In Range("d6:i18")

If rng<0Then

yvhf=yvhf&rng.Address&","

End If

Next

Range(Left(yvhf,Len(yvhf)-1)).Select

End Sub

全选选定范围内小于0的单元

Sub全选选定范围内小于0的单元()

Dim rng As Range

Dim yvhf

For Each rng In Selection

If rng<0Then

yvhf=yvhf&rng.Address&","

End If

Next

Range(Left(yvhf,Len(yvhf)-1)).Select

End Sub

固定区域单元分类变色

Sub单元分类变色()

Dim rng As Range

For Each rng In Range("d6:i18")

If rng<0Then

rng.Interior.ColorIndex=4'小于0的单元变绿底色

End If

Next

For Each rng In Range("d6:i18")

If rng>0Then

rng.Interior.ColorIndex=3'文本、假空和大于0的单元变红底色

End If

Next

For Each rng In Range("d6:i18")

If rng=0Then

rng.Interior.ColorIndex=2'空值和等于0的单元变白底色End If

Next

End Sub

A列半角内容变红

Sub A列半角内容变红()

Dim rg As Range,i As Long

Application.ScreenUpdating=False

For Each rg In Cells.SpecialCells(xlCellTypeConstants,3) For i=1To Len(rg)

If Asc(Mid(rg,i,1))>0Then

rg.Characters(i).Font.ColorIndex=3

Next

Next

Application.ScreenUpdating=True

End Sub

单元格录入数据时运行宏的代码

Private Sub Worksheet_Change(ByVal Target As Range)重排窗口

End Sub

焦点到A列时运行宏的代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column=1Then

宏名

End If

End Sub

根据B列最后数据快速合并A列单元格的控件代码

Private Sub CommandButton1_Click()

For i=1To[b65536].End(xlUp).Row

For j=i+1To[b65536].End(xlUp).Row

If Range("a"&j)=""Then

Range("a"&i&":a"&j).Merge

Else

Exit For

End If

Next j

Next i

End Sub

在F1单元显示光标位置批注内容的代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

a=Selection.Address

b=Range(a).NoteText

Cells(1,6)=b

End Sub

显示光标所在单元的批注的代码

Dim r As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next

https://www.360docs.net/doc/8f15325786.html,ment.Visible=False

Set r=Target

https://www.360docs.net/doc/8f15325786.html,ment.Visible=True

End Sub

使单元内容保持不变的工作表代码

Private Sub Worksheet_Change(ByVal Target As Range)

[B2]="不可更改的数据"

End Sub

有条件执行宏

Sub高级筛选()

If[J1]=2Or[K1]="筛选"Then

Columns("D:E").Select

Selection.Clear

Range("D1").Select

Columns("A:B").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range(_

"G1:G2"),CopyToRange:=Range("D1"),Unique:=False

End If

End Sub

有条件执行不同的宏

Sub有条件执行不同的宏()

If[b1].Value="A"Then

Application.Run"宏1"

ElseIf[b1].Value="B"Then

Application.Run"宏2"

End If

End Sub

提示确定或取消执行宏

Sub提示确定或取消执行宏()

If vbOK=MsgBox("确定要复制吗?",vbOKCancel)Then Range("A4:A14").Copy Range("b4:b14") Msgbox"复制结束"

End If

End Sub

提示开始和结束

Sub提示结束()

Msgbox"运行开始"

过程……

Msgbox"运行结束"

End Sub

拷贝指定表不相邻多列数据到新位置

Sub拷贝指定表不相邻多列数据到新位置()

Sheets("sheet1").Range("A:A,J:J").Copy Range("d1") End Sub

选择2至4行

Sub选择2至4行()

Dim a As Integer

Dim b As Integer

a=2

b=4

Rows(a&":"&b).Select

End Sub

在当前选区有条件替换数值为文本

Sub在当前选区有条件替换数值为文本()

For Each r In Selection

If r.Value>18And r.Value<29.5Then r.Value="Y" Next

End Sub

自动筛选全部显示指定列

Sub自动筛选全部显示指定列()

Selection.AutoFilter Field:=1

Selection.AutoFilter Field:=2

Selection.AutoFilter Field:=3

Selection.AutoFilter Field:=4

Selection.AutoFilter Field:=5

Selection.AutoFilter Field:=6

End Sub

自动筛选第2列值为A的行

Sub自动筛选第2列值为A的行()

[a1].AutoFilter2,"a"

End Sub

取消自动筛选()

Sub取消自动筛选()

ActiveSheet.AutoFilterMode=False

End Sub

全部显示指定表的自动筛选

Sub全部显示指定表的自动筛选()

If Sheet1.FilterMode=True Then

Sheet1.ShowAllData

End If

End Sub

强行合并单元

Sub强行合并单元()

Application.DisplayAlerts=False'不出现对话框,按对话框默认选择

Range("a3:a4").Merge

Application.ScreenUpdating=True

End Sub

设置单元区域格式

Sub设置单元区域格式()

[a:a].NumberFormat="yyyy.mm.dd"

Sheet2.[B:B].NumberFormatLocal="yyyy-m-d"

Sheet2.[C:C].NumberFormatLocal="G/通用格式"

End Sub

在所有工作表的A1单元返回顺序号

Sub在所有工作表的A1单元返回顺序号()

For i=1To Sheets.Count

Sheets(i).Cells(1,1)="'"&

Application.WorksheetFunction.Text(0+i,"000")

Next

End Sub

根据A1单元内容返回C1数值

Sub根据A1单元内容返回C1数值()

If Range("A1")="A"Then

Range("C1").FormulaR1C1="结算"

ElseIf Range("A1")="B"Then

Range("C1").FormulaR1C1="合计"

ElseIf Range("A1")="C"Then

Range("C1").FormulaR1C1="部门"

End If

End Sub

根据A1内容选择执行宏

Sub根据A1内容选择执行宏()

Select Case Sheet1.[A1]

Case"A"

宏1

Case"B"

宏2

Case"C"

宏3

Case Else

End Select

End Sub

删除A列空行

Sub删除A列空行()

Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

在A列产生不重复随机数

Sub在A列产生不重复随机数()

Randomize Timer

Dim c(100)As Byte

For i=1To100'产生100个随机数

c(i)=i

Next

k=100

Do While l<100

r=Int(Rnd()*k)+1'随机数的范围

aa=c(r)

c(r)=c(k)

c(k)=aa

k=k-1

l=l+1

Cells(l,1)=aa

Loop

End Sub

将A列数据随机排列到F列

Sub将A列数据随机排列到F列()

Dim n As Long

n=[a65536].End(xlUp).Row

[f1].Resize(n,1)=[a1].Resize(n,1).Value

[g1].Resize(n,1)="=rand()"

[f:g].Sort[g1]

[g:g]=""

End Sub

取消选定区域的公式只保留值(假空转真空)

Sub取消选定区域的公式只保留值()

'Sheets("数据归并集中").Select'指定工作表'Columns("Q:R").Select'指定范围Selection.Value=Selection.Value

End Sub

处理导入的显示为科学计数法样式的身份证号

Sub处理导入的显示为科学计数法样式的身份证号()

Selection.Value=Selection.Formula

End Sub

返回指定单元的行高和列宽

Sub返回指定单元的行高和列宽()

[c2]=Range("A1").ColumnWidth'列宽

[b2]=Range("A1").RowHeight'行高

End Sub

Sub返回指定单元的行高和列宽()

Dim r%,c%

r=[a1].RowHeight

c=[a1].ColumnWidth

[b2]=r'行高

[c2]=c'列宽

End Sub

指定行高和列宽

Sub指定行高和列宽()

Range("A1:F1").ColumnWidth=10'指定列宽

Range("A2:A10").RowHeight=40'指定行高

End Sub

Sub指定行高和列宽()

Columns("A:F").ColumnWidth=10'指定列宽

Rows("2:10").RowHeight=40'指定行高

End Sub

指定单元的行高和列宽与A1单元相同

Sub指定单元的行高和列宽与A1单元相同()

Range("A1:F1").ColumnWidth=Range("A1").ColumnWidth'指定列宽

Range("A2:A10").RowHeight=Range("A1").RowHeight'指定行高

Excel宏功能简单应用介绍

OFFice几个出色招数 Word独门绝招: 一、输入三个“=”,回车,得到一条双直线; 二、输入三个“~”,回车,得到一条波浪线; 三、输入三个“*”或“-”或“#”,回车,惊喜多多; Powerpoint出色过招: Q:如果已经word写好一份报告,并且要根据报告的内容做幻灯片,怎么直接把 word文档的标题发送到powerPoint? A:打开word文档,从“文件”菜单单击“发送”命令,再选择发送到ppt。ppt 会自动启动,并且根据每个word文档的一级标题建立一张相同标题的幻灯片,其下的二级标题也会被自动添加到幻灯片。 Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功

Excel文件太大处理方法

很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充: 一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。可能的原因:(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,(2)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象(3)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为0或很小的值,通过复制产生了大量的对象(4)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到(5)工作表中的对象设置了不可见属性(Visible=false)或对象的线条和填充色均设为与底色相同,使对象无法看到 判断方法:(1)CTRL-G,定位,定位条件中选“对象”,确定后会显示很多被选择的小对象(这种方法在隐藏列或行中的对象并不能看到)(2)用VBA对对象进行计数,看看有多少个对象在工作表中,与你的工作表中需要的对象数量是否相符 Sub countshapes() Dim n n = ActiveSheet.Shapes.Count MsgBox "本工作表共有" & n & "个对象" End Sub 解决办法(1)如果确认工作表中没有你需要的对象或控件,用CTRL-G,定位,定位条件中选“对象”,确定后按DEL键删除,会删除工作表中所有的对象(2)用VBA删除,可以根据需要删除高度或宽度小于一定值的小对象,如 Sub delshapes() Dim sp As Shape, n For Each sp In ActiveSheet.Shapes If sp.Width < 14.25 Or sp.Height < 14.25 Then ' 约小于0.5cm,根据需要设定sp.Delete n = n + 1 End If Next sp MsgBox "共删除了" & n & "个对象" End Sub 二、工作表中在很大的范围内设置了单元格的格式或者条件格式 可能的原因:操作时选择在很大的区域设置或复制了单元格的格式或条件格式(并不是整行整列),而真正用的区域并不很多,造成工作表内容不多,文件却很大。 判断方法:工作表滚协条的拖动滑标很小,拖动滑标向下可以达到很大的行号或列标,滑标拖到最下或最右的位置显示的列标或行号就是实际设置了单元格格式的地址 解决办法:1、定位真正需要的行号下一行,按CTRL+SHIFT+下箭头,选择所有的多余行(也可以在名称框中输入行号如:2000:65536),编辑-清除-格式(或全部),同理清除可清除多余列的格式2、如果需要在一行或一列的很大范围设置统一的单元格格式,可以选择整行或整列设置单元格格式,而不要只选择行列的一部分单独设置格式,再根据需要对行列的个别单元格设置单独的格式,对整行或整列甚至整个工作表设置单元格格式并不会造成文件虚增的问题,对A1:A65536设置单元格格式与对A1:A65535设置单元格格式文件太小是完全不同的3、如果欲对已设置的不同格式的单元格设置整列或整行统一的格式,应选整行或整列,先清除单元格的格式或将单元格格式设为常规,再对整行或整列设置其他的单元格格式,直接设置有时可能并不能使文件减肥4、对条件格式也可用编辑-定位,定位条件中选“条件格式”,然后在格式-条件格式中删除条件格式三、为很大的区域设置了数据有效性 形成原因:与第二项基本相同,选择很大的区域设置了数据有效性,或将有有效性设置的单元格复制到很大的区域,尤其是在有效性设置中进行了“输入法”“输入信息”“出错警告”的设置,更具有隐蔽性,一般不易发现。 判断方法:与由于单元格格式造成文件虚肥的原因相同,在清除多余区域的单元格格式后文件尺寸仍没有减下来,就应该考虑是不是有效性设置原因引起 解决办法:选择多余的单元格区域,数据-有效性,在“设置”、“输入信息”、“出错警告”、“输入法”页面分别执行“全部清除” 四、公式复杂,公式很长 由于单元格公式复杂,公式太长,造成文件增大解决方法:针对大量重复使用的公式(包括相对引用的公式),用定义名称的方法简化下例中原文件用VLOOKUP公式文件189K,用定义名称后文件减小到117K

EXCEL文件格式类型

EXCEL文件格式类型 Excel 有多种文件类型。从2003到现在的通用的XLSX,下面详细介绍各个文件类型的区别。因为微软的Office的文件格式是一个闭源的,所以没有什么很好的第三方软件能够很好完全兼容Office格式,包括MS Office。 XLS Excel 2003版本之前使用的文件格式,二进制的文件保存方式。xls文件可以直接插入宏。这样也让xls 文件有了一定的安全隐患。因为是2003版本,所以xls文件的功能性比xlsx有差距,xls文件支持的最大 行数是65536行。xlsx支持的最大行数是1048576行。xls支持的的最大列数是256列,xlsx是16384列,这个是行数和列数的限制不是来自Excel的版本而是文件类型的版本。 XLSX XLSX与XLS就差异了一个X字母,这个X表示的是XML,相对于XLS,XLSX支持更多的Excel 2007后支持的功能,因为XML中的X表示的是eXtensible,也就是可扩展的,所以以后有新功能增加也会继续 使用XLSX格式,因为它是扩展的。 XLSX的是叫做Excel Microsoft Office Open XML Format Spreadsheet file,里面有个Open,也就是开放的,当然因为是微软的,从来就不是那么开放,XLSX其实一个ZIP文件,也就是如果你把文件名的XLSX 改成zip,然后是可以用解压缩软件直接打开这个zip文件的,你打开它看到话,会可以看到里面有很多的 xml文件。 这样,XLSX文件就可以被其他应用读取里面的内容,然后能处理里面的类似sheet1.xml的文件的软件就能读取XLSX文件里面的内容。 最重要的文件类型当然是XLSX,因为是我们以后最常用的文件类型。 XLSB XLSB是XLSX的二进制版本,就是把XML去掉了,换成了二进制的保存方式,在一定方面,能提高读取速度,减小文件体积,甚至提高文件兼容性和移动性。,因为发现在同事间传递文件,可能会因为电 脑环境的原因还是什么我目前没有发现的原因,在A的电脑上能正常打开的文件,在B电脑上却出现不能损坏的情况。 XLSM 是XLSX的启用了宏的版本,也就是在XLSX文件中添加了VBA代码。M for Macro,因为包含了宏,没有设置过的Excel会提醒你是否启用宏,如果可能信任的来源的文件,我们可以启用宏,否则,不启用 是更加安全的选择。 XLST 是Excel的模板文件,你双击它不是打开这个模板问题,而是以该模板文件新建一个文件。

EXCEL文件过大常用处理方法

EXCEL文件过大常用处理方法 【故障现象描述】 一个EXCEL表,在只有很少数据的情况下,文件达到几兆甚至几十兆,通过常用的删除行或者清除格式的方法无法缩小文件大小。 【故障原因分析】 造成上述原因的问题有很多种,从网上论坛中反馈的信息来看主要还是隐藏对象和空白单元格格式的问题。 对象的产生原因可能有以下几个。从网页上复制内容后直接粘贴到工作表中,而没有使用选择性粘贴。无意中使用绘图工具栏的直线工具或其他绘图工具,不知不觉中在工作表中插入了小的直线或其他图形对象,由于尺寸很小,于肉眼几乎无法看到。而后,又通过单元格的复制产生了大量的小绘图对象。在工作表中插入了图片或其他绘图对象,操作中又将其高度宽度设为0 或很小的值,通过复制产生了大量的对象。 在行或列的位置中插入了绘图对象,对象的属性为“大小位置随单元而变的(默认的)”,然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到。工作表中的对象设置了不可见属性(Visible=false),或对象的线条与填充色均设与背景色相同,使对象无法被看到。 【常用解决方法】 方法一:删除隐藏对象 (1)打开EXCEL表,“编辑”菜单,“定位”,或者通过CTRL+G快捷键,打开“定位”窗口,如下图所示: (2)单击“定位条件”按钮,打开“定位选择”窗口,选择“对象”单选按钮,如下图所示:

(3)单击“确定”后会返回到文件,如果存在隐藏的对象,对象将处于选中状态,此时按下键盘上delete按键,即可删除所有选定的对象。 注意:EXCEL中图表、图片、插入的文件等都属于对象,在删除之前要加以判断。例如下图中有四个对象:一个图表、一个图片、2个隐藏的位图对象。 此时可以通过按住键盘上CTRL按键,单击取消选择有用的对象,如下图所示: 方法二:工作表中在较大的区域内设置了单元格格式或者条件格式,删除空白区域的单元格格

Excel文件丢失或损坏怎么恢复

Excel文件丢失或损坏怎么恢复 Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。大家在使用excel文件的过程中,经常会因为各种原因丢失或损坏excel文件,这对于用户来说是及其烦恼的,估计很多人都在寻找解决方法,到底什么方法可以恢复excel文件呢? 病毒、存储故障、断电等原因都会造成excel文件损坏,使得excel工作簿文件不能正常编辑、打印,甚至是无法打开。一般情况下用户也是可以通过自己的方式对文件进行恢复的。下面我就向大家介绍几种恢复文件的方法。 方法一:将工作簿另存为SYLK格式 如果Excel文件能够打开,那么将工作簿转换为SYLK格式可以筛选出文档的损坏部分,然后再保存数据。 首先,打开需要的工作簿。在“文件”菜单中,单击“另存为”命令。在“保存类型”列表中,单击“SYLK(符号连接)(*.slk)”选项,然后单击“保存”按钮。关闭目前开启的文件后,打开刚才另存的SYLK版本即可。 方法二:转换为较早的版本 如果由于启动故障而没有保存Excel工作簿,则最后保存的版本可能不会被损坏。当然,该版本不包括最后一次保存后对文档所作的更改。 关闭打开的工作簿,当系统询问是否保存更改时,单击“否”。在“文件”菜单中,单击“打开”命令,双击该工作簿文件即可。 方法三:打开并修复工作簿 如果Excel文件根本不能够使用常规方法打开,那么可以尝试Excel 2003中的“打开并修复”功能,该功能可以检查并修复Excel工作簿中的错误。 对于excel文件丢失的问题,大家可以选用这款数据恢复软件进行恢复操作。该软件是国内知名的数据恢复软件,采用了更好的兼容技术,能够轻松地识别几乎所有的数据结构,具备最新的极速扫描和深度恢复功能,完整地对数据丢失区域进行全方位扫描,有力地保障了丢失数据的识别,确保整个数据恢复还原过程的完整性。

EXCEL文档的基本规范

EXCEL表格的基本规范 一、文字: 1、中文:宋体; 2、数字:Times New Roman; 3、大小:一般为12号; 3、行距:根据表格具体情况而定 二、标题: 1、18号字以上,加粗,跨列居中 三、表格: 1、标题与表格中需空出一行,在表格的右上方,需加注“单位:XX”字样; 2、表格第一行需列出各列的标题,如字数较多,需分多行显示(单元格设置“换行”,或人为划分多行(ALT+ENTER); 3、如有几列表述为同一意思,另几列表述为同一意思,可在上一行再分列出小标题(跨行居中); 4、列与列之间,有逻辑关系的,需加一行,列出计算公式,可用“A、B、C……”或“1、2、3……”进行公式表述; 5、表格中数字,一般情况用Times New Roman字体,如需在一页显示,宽度有限的情况下可采用Arial Narrow字体。 6、数字需用千分符显示,数量保留到整数位,销售金额、兑现金额等保留到2位小数(有的视具体情况及数额大小可保留到整数位);如金额单位万元的,一般需保留2位小数; 6、表格中不能出现错误字符(如有,需修改公式),数字为“0”的显示格式应调整为“-”,除个别“0%”情况; 7、表格一般需根据内容有小计及合计,合加内容为可累加数据项目;“比例、单价”等项目不能进行累加,或进行计算得出合计结果; 8、如有政策或特别事项需说明,可在表格下方加上“备注:”后说明; 9、表格结束,在最下面一行均匀分布“审批:”、“审核:”、“制表:XX”、“制表日期:XX/XX/XX”;不需审批的表格,需列上“制表:XX”、“制表日期:XX/XX/XX” 四、版面: 1、左、右需居中,上、下根据页面大小适当居中; 2、打印前需进行打印预览

一些实用的excel宏

Excel宏教程 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select …选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select…选中“A1”、“A2”、“B1”、“B2”四个连续的单元格Range(“12:12”).Select…选中第12行 Range(“B:B”).Select…选中第B列 Range(“A1:A2,B7,2:2”).Select…选中“A1”、“A2”、“B7”五个不连续的单元格和第二行Cells.Select …选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select …选中整行 Columns("<列地址>:<列地址>").Select …选中整列 例:Rows(“2:2”). Select…选中第2行 Rows(“2:5”). Select…选中2到5行 Columns("A:A").Select …选中A列 Columns("E:B").Select …选中E到B列

三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格, 如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 四、给活动的单元格赋值 ActiveCell.FormulaR1C1 = <值> 例:Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Age" Range("A2:B3").Select Range("A2").Activate ActiveCell.FormulaR1C1 = " BUG" Range("B2").Activate ActiveCell.FormulaR1C1 = "12" Range("A3").Activate ActiveCell.FormulaR1C1 = "Archer" Range("B3").Activate ActiveCell.FormulaR1C1 = "37"

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。MicrosoftOffice的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到She et1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在 Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。 对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到A7这个没有数据的空单元格,循环结束,我们的工作也就完成了。至于循环里面的内容,我们同样再嵌套一个循环,只不过这次是判断第2行的数据是否全都复制完成了,在这个循环里面自然就是单元格数据和日期的复制了。 Sub Macro1() Dim st1y Dim st2y Dim st1x

多个excel文件快速合并成一个文件的几种方法

Excel多个文件格子如何合并?非常好用 1.先把所有要合并的EXCEL放到同一目录下. 2.在当前目录下新建一个EXCEL 3.打开新建的EXCEL 按ALT+F11 4.在sheet1里输入 -------------------------------------此行不要复制---------------- Sub 合并工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath& "\" & "*.xls") AWbName = https://www.360docs.net/doc/8f15325786.html, Num = 0 Do While MyName<> "" If MyName<>AWbName Then Set Wb = Workbooks.Open(MyPath& "\" &MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) Next WbN = WbN&Chr(13) &https://www.360docs.net/doc/8f15325786.html, Wb.Close False End With End If MyName = Dir Loop Range("A1").Select Application.ScreenUpdating = True MsgBox "共合并了" &Num& "个工作薄下的全部工作表。如下:" &Chr(13) &WbN, vbInformation, "提示" End Sub ---------------------------此行不要复制----------------------- 5.关闭Microsoft Visual Basic

办公高手EXCEL常用宏命令

办公高手.EXCEL常用宏命令 1 设置打开时弹出对话框的命令举例: Sub AUTO_OPEN() "输入打开工作表时要运行的代码或宏" End Bub 2 设置关闭时弹出对话框的命令举例: Sub AUTO_CLOSE() "输入关闭工作表时要运行的代码或宏" End Bub 3 设置提示框举例: MsgBox prompt:="温馨提示:您要打开的工作表有保护!", Buttons:=vbOKOnly, Title:="谷子提示 " i = MsgBox("系统提供不同服务,是否浏览资费信息?", vbYesNoCancel, "谷子提示:") If i = vbYes Then MsgBox "资费信息:********", , "谷子提示" Else "输入要运行的代码" End If 4、提示框内容过长,换行vbNewLine: MsgBox "您本次访问系统的时间是:" & Date & " " & Time & vbNewLine & "系统离到期日还剩余:" _ & DateDiff("d", Now, "2010-12-31") & " 天!" & vbNewLine & "是否查阅到期日说明?", vbYesNoCancel, "时间和到期日提示:" 5 提示提示系统的日期和时间: MsgBox "系统当前日期和时间:" & Date & " " & Time, , "时间提示" DateDiff("d", Now, "2010-10-31") & " 天!" ‘提示离指定日期的剩余天数 6 系统时间判断命令: Sub 判断时间测试() If Date > "2010-05-20" Then MsgBox "对不起,测试期间已经结束", , "谷子提示" Else Sheets("首页").Select '或其他命令 End If End Sub 7 禁止保存或另存的命令: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox ("禁止保存") Cancel = True '或thisworkbook.saved=true End Sub 8 保护工作表与撤销保护 Sheet2.Protect Password:="123456", DrawingObjects:=True, Contents:=True, Scenarios:=True '保护工作表SHEET2 Sheet2.Unprotect ("123456") '解除保 护 9 保护工作簿与撤销保护 ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="123" ActiveWorkbook.Unprotect Password:="123"

EXCEL文件双击不能直接打开的解决办法

EXCEL文件双击不能直接打开的解决办法出错现象:电脑里的EXCEL文件不知什么原因双击不能直接打开了,双击只能打开软件而且是没有任何表格的,但通过软件中的“打开”再找到指定的文件能打开。 解决方案: 打开excel,依次选择:工具----选项------常规-设置-----“忽略其他应用程序”的勾去掉。 初步估计是病毒把excel文件的“打开”设置更改了。 如果还不行,可以尝试将下列红字部分复制到记事本内,保存为excel.reg,然后双击添加到注册表。然后再按上述步骤操作。Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Applications\EXCEL.EXE] [HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell] @="Open" [HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell\New] @="新建(&N)" [HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell\New\command] @="\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\" /e /n" "command"=hex(7):26,00,69,00,67,00,41,00,56,00,6e,00,2d,00,7d,00,66,00,28,00,\ 5a,00,58,00,66,00,65,00,41,00,52,00,36,00,2e,00,6a,00,69,00,45,00,58,00,43,\ 00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,21,00,44,00,65,00,40,00,\

EXCEL如何使用宏

在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同) Sub 改变颜色() ' ' 改变颜色Macro ' xw 记录的宏2000-6-10 ' ' With Selection.Interior

excel常用宏

1.拆分单元格赋值 Sub 拆分填充() Dim x As Range For Each x In https://www.360docs.net/doc/8f15325786.html,edRange.Cells If x.MergeCells Then x.Select x.UnMerge Selection.Value = x.Value End If Next x End Sub 2.E xcel 宏按列拆分多个excel Sub Macro1() Dim wb As Workbook, arr, rng As Range, d As Object, k, t, sh As Worksheet, i& Set rng = Range("A1:f1") Application.ScreenUpdating = False Application.DisplayAlerts = False arr = Range("a1:a" & Range("b" & Cells.Rows.Count).End(xlUp).Row) Set d = CreateObject("scripting.dictionary") For i = 2 To UBound(arr) If Not d.Exists(arr(i, 1)) Then Set d(arr(i, 1)) = Cells(i, 1).Resize(1, 13) Else Set d(arr(i, 1)) = Union(d(arr(i, 1)), Cells(i, 1).Resize(1, 13)) End If Next k = d.Keys t = d.Items For i = 0 To d.Count - 1 Set wb = Workbooks.Add(xlWBATWorksheet) With wb.Sheets(1) rng.Copy .[A1] t(i).Copy .[A2] End With wb.SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xlsx" wb.Close Next

(完整word版)VB中读写EXCEL文件

VB中读写EXCEL文件 在VB中要想调用Excel,需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“Microsoft Excel 11.0 object library”项。由于你的Excel 版本不同,所以这个选项的版本号可能不同 。定义EXCEL对象 Dim XlsObj As Excel.Application 'Excel对象 Dim XlsBook As Excel.Workbook '工作簿 Dim XlsSheet As Excel.Worksheet '工作表 。打开或创建EXCEL Set XlsObj = CreateObject("Excel.Application") '创建EXCEL对象XlsObj.Visible = True '设置EXCEL对象可见(或不可见) '打开已经存在的test.xls工件簿文件 Set xlbook = xlapp.Workbooks.Open(App.Path & "\test.xls") '创建有一个工作表的工作簿 XlsObj.SheetsInNewWorkbook = 1 Set XlsBook = XlsObj.Workbooks.Add 。设置活动工作表 '或者Set XlsSheet = XlsObj.Worksheets(1) 代表第1个Sheet Set XlsSheet = XlsObj.Worksheets("表名") 给单元格(row,col)赋值 XlsSheet.Cells(row, col) =值 给合并的单元格赋值,如(A3:A9) XlsSheet.Range("A3:A9") =值 运行 EXCEL 宏 XlsBook.RunAutoMacros ("宏名") 插入一行

怎么把100多个EXCEL文件合并成一个

新建一个工作表,命名后保存到和与合并的100个文件同一个文件文件夹,摁alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。 Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xls") AWbName = https://www.360docs.net/doc/8f15325786.html, Num = 0 Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & https://www.360docs.net/doc/8f15325786.html, Wb.Close False End With End If MyName = Dir Loop Range("A1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End Sub

无法打开Excel表格文件

问题描述:无法打开Excel表格文件. 解决办法和步骤: Excel打不开症状一:某个Excel表格文件打不开了,Excel主程序可以打开。 解决方法:Excel2003设置:打开Excel,选择工具--选项--常规中把“忽略其他应用程序”去掉勾就可以了。 Excel2007中的设置:选择Excel选项-->高级-->常规-->“忽略使用动态数据交换(DDE)的其他应用程序”勾去掉。

Excel打不开症状二:新建Excel文件保存以后可以正常打开,但是以前的Excel文件打不开了。 解决方法:①先打开Excel,然后单击“文件”中的“打开”;

②在弹出的“打开”对话框中选择打不开的Excel文件,然后点击右下角“打开”旁边的下拉箭头,选择“打开并修复”即可。 Excel打不开症状三:如果按照上面方法使用“打开并修复”还不能解决问题可以参考下面方法。 解决方法:①在一个空白的Excel表格中选择菜单栏上的“数据”-->导入外部数据-->导入数据;

②在“选取数据源”中找到文件位置,然后“打开”; ③此时会弹出一个“选择表格”,选择第一个然后“确定”; ④在“导入数据”中选“确定”按钮就OK了。此方法还是非常有效了,本人试过多次,都有效!

Excel打不开症状四:双击Excel文件时提示“该文件可能是只读的,或者你要访问的位置是只读的,或者文件所在的服务器没有响应。” 解决方法:导致此错误的原因是C盘的磁盘空间不足,可以删除一些多余的程序或使用磁盘清理程序,同时还应该删除Excel临时文件,找到指定目录:C:\Documents and Settings\(这里是您的计算机名,默认是administrator)\Application Data\Microsoft\Excel,将文件夹里面所以内容删除,然后重新打开试试。

【免费下载】EXCEL宏的使用

目录 EXCEL宏的使用 (2) 一、选中单个单元格 (2) 二、选中多个单元格 (2) 三、设置活动单元格 (2) 四、给活动的单元格赋值 (3) 五、得到指定单元格中的值 (3) 六、插入单元格 (3) 七、设置字体属性 (4) 八、清空选中单元格里的内容 (5) 九、设置选中单元格的边线属性 (5) 十、删除选中的单元格 (6) 十一、设置单元格背景色及图案 (7) 十二、返回工作表中的行数 (8) 十三、得到当前EXCEL的文件名 (8) 十四、批注的操作 (8) 十五、剪切、复制、粘贴 (9) 十六、选择性粘贴 (10) 十七、改变列宽 (10) 1

EXCEL宏的使用 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select ‘选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select ‘选中“A1”、“A2”、“B1”、“B2”四个连续的单元格 Range(“12:12”).Select ‘选中第12行 Range(“B:B”).Select ‘选中第B列 Range(“A1:A2,B7,2:2”).Select ‘选中“A1”、“A2”、“B7”五个不连续的单元格和第二行 Cells.Select ‘选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select ‘选中整行 Columns("<列地址>:<列地址>").Select ‘选中整列 例:Rows(“2:2”). Select ‘选中第2行 Rows(“2:5”). Select ‘选中2到5行 Columns("A:A").Select ‘选中A列 Columns("E:B").Select ‘选中E到B列 三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格,如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 2

Excel常见宏命令

清除剪贴板 Sub清除剪贴板() Application.CutCopyMode=False https://www.360docs.net/doc/8f15325786.html,mandBars("Task Pane").Visible=False End Sub 批量清除软回车 Sub批量清除软回车() '也可直接使用Alt+10或13替换 Cells.Replace What:=Chr(10),Replacement:="", LookAt:=xlPart,SearchOrder:=_ xlByRows,MatchCase:=False,SearchFormat:=False, ReplaceFormat:=False End Sub 判断指定文件是否已经打开 Sub判断指定文件是否已经打开() Dim x As Integer For x=1To Workbooks.Count If Workbooks(x).Name="函数.xls"Then'文件名称MsgBox"文件已打开" Exit Sub End If Next MsgBox"文件未打开" End Sub 当前文件另存到指定目录 Sub当前激活文件另存到指定目录() ActiveWorkbook.SaveAs Filename:="E:\信件\"& https://www.360docs.net/doc/8f15325786.html, End Sub

另存指定文件名 Sub另存指定文件名() ActiveWorkbook.SaveAs ThisWorkbook.Path&"\别名.xls" End Sub 以本工作表名称另存文件到当前目录 Sub以本工作表名称另存文件到当前目录() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\" &https://www.360docs.net/doc/8f15325786.html,&".xls" End Sub 将本工作表单独另存文件到Excel当前默认目录 Sub将本工作表单独另存文件到Excel当前默认目录() ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/8f15325786.html,& ".xls" End Sub 以活动工作表名称另存文件到Excel当前默认目录 Sub以活动工作表名称另存文件到Excel当前默认目录() ActiveWorkbook.SaveAs Filename:=https://www.360docs.net/doc/8f15325786.html,& ".xls",FileFormat:=_ xlNormal,Password:="",WriteResPassword:="", ReadOnlyRecommended:=False_ ,CreateBackup:=False End Sub 另存所有工作表为工作簿 Sub另存所有工作表为工作簿() Dim sht As Worksheet Application.ScreenUpdating=False ipath=ThisWorkbook.Path&"\" For Each sht In Sheets

相关文档
最新文档