1. 首页 > 科技

当Sheet1"每次增加或删除行时",VBA自动将"A列数值复制到B列"?

当Sheet1"每次增加或删除行时",VBA自动将"A列数值复制到B列"?

求VBA代码大全

1:打开所有隐藏工作表

2:循环宏

3:录制宏时调用“停止录制”工具栏

4:高级筛选5列不重复数据至指定表

5:双击单元执行宏(工作表代码)

6:双击指定区域单元执行宏(工作表代码)

7:进入单元执行宏(工作表代码)

8:进入指定区域单元执行宏(工作表代码)

9:在多个宏中依次循环执行一个(控件按钮代码)

10:在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)

11:在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)

12:根据A1单元文本隐藏/显示按钮(控件按钮代码) 

13:当前单元返回按钮名称(控件按钮代码) 

14:当前单元内容返回到按钮名称(控件按钮代码) 

15:奇偶页分别打印 

16:自动打印多工作表第一页 

17:查找A列文本循环插入分页符 

18:将A列最后数据行以上的所有B列图片大小调整为所在单元大小 

19:返回光标所在行数 20:在A1返回当前选中单元格数量

21:返回当前工作簿中工作表数量 

22:返回光标选择区域的行数和列数 

23:工作表中包含数据的最大行数 

24:返回A列数据的最大行数 

25:将所选区域文本插入新建文本框 

26:批量插入地址批注 

27:批量插入统一批注 

28:以A1单元内容批量插入批注 

29:不连续区域插入当前文件名和表名及地址 

30:不连续区域录入当前单元地址 

31:连续区域录入当前单元地址 

32:返回当前单元地址 

33:不连续区域录入当前日期 

34:不连续区域录入当前数字日期 

35:不连续区域录入当前日期和时间 

36:不连续区域录入对勾 

37:不连续区域录入当前文件名 

38:不连续区域添加文本 

39:不连续区域插入文本 

40:从指定位置向下同时录入多单元指定内容 

41:按aa工作表A列的内容排列工作表标签顺序 

42:以A1单元文本作表名插入工作表 

43:删除所有未选定工作表 

44:工作表标签排序

45:定义指定工作表标签颜色 

46:在目录表建立本工作簿中各表链接目录 

47:建立工作表文本目录 

48:查另一文件的所有表名 

49:当前单元录入计算机名 

50:当前单元录入计算机用户名 

51:解除所有工作表保护 

52:为指定工作表加指定密码保护表 

53:在有密码的工作表执行代码 

54:执行前需要验证密码的宏(控件按钮代码) 

55:执行前需要验证密码的宏() 

56:拷贝A1公式和格式到A2 

57:复制单元数值 

58:插入数值条件格式 

59:插入透明批注 

60:添加文本 

61:光标定位到指定工作表A列最后数据行下一单元 

62:定位选定单元格式相同的所有单元格 

63:按当前单元文本定位 

64:按固定文本定位 

65:删除包含固定文本单元的行或列 

66:定位数据及区域以上的空值 

67:右侧单元自动加5(工作表代码) 

68:当前单元加2 

69:A列等于A列减B列 

70:用于光标选定多区域跳转指定单元(工作表代码) 

71:将A1单元录入的数据累加到B1单元(工作表代码) 

72:在指定颜色区域选择单元时添加/取消"√"(工作表代码) 

73:在指定区域选择单元时添加/取消"√"(工作表代码) 

74:双击指定单元,循环录入文本(工作表代码) 

75:双击指定单元,循环录入文本(工作表代码) 

76:单元区e799bee5baa6e78988e69d8331333363363539域引用(工作表代码) 

77:在指定区域选择单元时数值加1(工作表代码) 

78:混合文本的编号 

79:指定区域单元双击数据累加(工作表代码) 

80:选择单元区域触发事件(工作表代码) 

81:当修改指定单元内容时自动执行宏(工作表代码) 

82:被指定单元内容限制执行宏 

83:双击单元隐藏该行(工作表代码) 

84:高亮显示行(工作表代码) 

85:高亮显示行和列(工作表代码)

86:为指定工作表设置滚动范围(工作簿代码)

87:在指定单元记录打印和预览次数(工作簿代码)

88:自动数字金额转大写(工作表代码)

89:将所有工作表的A1单元作为单击按钮(工作簿代码)

90:闹钟——到指定时间执行宏(工作簿代码)

91:改变Excel界面标题的宏(工作簿代码)

92:在指定工作表的指定单元返回光标当前多选区地址(工作簿代码)

93:B列录入数据时在A列返回记录时间(工作表代码)

94:当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)

95:指定单元显示光标位置内容(工作表代码)

96:每编辑一个单元保存文件

97:指定允许编辑区域

98:解除允许编辑区域限制

99:删除指定行

100:删除A列为指定内容的行

1:打开所有隐藏工作表

Sub 打开所有隐藏工作表()

Dim i As Integer

For i = 1 To Sheets.Count

Sheets(i).Visible = True

Next i 

End Sub

2:循环宏

Sub 循环()

 AAA = Range("C2")

 Dim i As Long

  Dim times As Long

  times = AAA 

'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)

  For i = 1 To times

  Call 过滤一行

 If Range("完成标志") = "完成" Then

    Exit For  

'假如名为'完成标志'的命名单元的值等于'完成',则退出循环,假如一开始就等于'完成',则只执行一次循环就退出

'If Sheets("传送参数").Range("A" & i).Text = "完成" Then 

Exit For 

'假如某列出现"完成"内容则退出循环

Next i 

End Sub   

3:录制宏时调用“停止录制”工具栏   

Sub 录制宏时调用停止录制工具栏()

      Application.CommandBars("Stop Recording").Visible = True 

End Sub        

4:高级筛选5列不重复数据至指定表

Sub 高级筛选5列不重复数据至Sheet2()

      Sheets("Sheet2").Range("A1:E65536") = "" '清除Sheet2的A:D列

     Range("A1:E65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range( _

         "A1"), Unique:=True

      Sheet2.Columns("A:E").Sort Key1:=Sheet2.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

         :=xlPinYin 

End Sub        

5:双击单元执行宏(工作表代码)   

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Range("$A$1") = "关闭" Then

Exit Sub      

Select Case Target.Address

         Case "$A$4"

             Call 宏1

             Cancel = True

         Case "$B$4"

             Call 宏2

             Cancel = True

         Case "$C$4"

             Call 宏3

             Cancel = True

        Case "$E$4"

             Call 宏4 

             Cancel = True

     End Select 

End Sub

6:双击指定区域单元执行宏(工作表代码)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

     If Range("$A$1") = "关闭" Then Exit Sub

     If Not Application.Intersect(Target, Range("A4:A9", "C4:C9")) Is Nothing Then Call 打开隐藏表

 End Sub

7:进入单元执行宏(工作表代码)   

Private Sub Worksheet_SelectionChange(ByVal Target As Range) '以单元格进入代替按钮对象调用宏      

If Range("$A$1") = "关闭" Then Exit Sub     

Select Case Target.Address

          Case "$A$5" '单元地址(Target.Address),或命名单元名字(Target.Name) 

            Call 宏1

         Case "$B$5"

             Call 宏2

         Case "$C$5"

             Call 宏3

      End Select

 End Sub

8:进入指定区域单元执行宏(工作表代码)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("$A$1") = "关闭" Then Exit Sub

If Not Application.Intersect(Target, Range("A4:A9","C4:C9")) Is Nothing Then Call 打开隐藏表 

End Sub

9:在多个宏中依次循环执行一个(控件按钮代码)

Private Sub CommandButton1_Click()

Static RunMacro As Integer

Select Case RunMacro

Case 0

宏1

RunMacro = 1

Case 1

宏2

RunMacro = 2

Case 2

宏3

RunMacro = 0

End Select 

End Sub

10:在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)

Private Sub CommandButton1_Click()

With CommandButton1

If .Caption = "保护工作表" Then

Call 保护工作表

 .Caption = "取消工作表保护" 

Exit Sub

End If

If .Caption = "取消工作表保护" Then

Call 取消工作表保护

 .Caption = "保护工作表" 

Exit Sub

End If

End With 

End Sub

11:在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)   

Option Explicit  Private Sub CommandButton1_Click()

With CommandButton1

If .Caption = "宏1" Then

Call 宏1

 .Caption = "宏2" 

Exit Sub

End If

If .Caption = "宏2" Then

Call 宏2

.Caption = "宏3"

Exit Sub

End If

If .Caption = "宏3" Then

Call 宏3

.Caption = "宏1"

Exit Sub

End If

End With 

End Sub 

12:根据A1单元文本隐藏/显示按钮(控件按钮代码)

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

If Range("A1") > 2 Then

  CommandButton1.Visible = 1

 Else

  CommandButton1.Visible = 0

 End If 

End Sub  

Private Sub CommandButton1_Click()

 重排窗口 

End Sub        

13:当前单元返回按钮名称(控件按钮代码)   

Private Sub CommandButton1_Click() 

ActiveCell = CommandButton1.Caption 

End Sub        

14:当前单元内容返回到按钮名称(控件按钮代码)   

Private Sub CommandButton1_Click() 

CommandButton1.Caption = ActiveCell 

End Sub        

15:奇偶页分别打印   

Sub 奇偶页分别打印() 

Dim i%, Ps%  

Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数 

MsgBox "现在打印奇数页,按确定开始." 

For i = 1 To Ps Step 2 

ActiveSheet.PrintOut from:=i, To:=i 

Next i  

MsgBox "现在打印偶数页,按确定开始." 

For i = 2 To Ps Step 2      

ActiveSheet.PrintOut from:=i, To:=i 

Next i 

End Sub        

16:自动打印多工作表第一页   

Sub 自动打印多工作表第一页() 

Dim sh As Integer 

Dim x 

Dim y 

Dim sy 

Dim syz  

x = InputBox("请输入起始工作表名字:") 

sy = InputBox("请输入结束工作表名字:") 

y = Sheets(x).Index 

syz = Sheets(sy).Index 

For sh = y To syz 

Sheets(sh).Select  

Sheets(sh).PrintOut from:=1, To:=1 

Next sh 

End Sub        

17:查找A列文本循环插入分页符   

Sub 循环插入分页符()  

' Selection = Workbooks("临时表").Sheets("表2").Range("A1") 调用指定地址内容   

Dim i As Long 

Dim times As Long  

times = Application.WorksheetFunction.CountIf(Sheet1.Range("a:a"), "分页")      'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647) 

For i = 1 To times 

Call 插入分页符 

Next i 

End Sub

Sub 插入分页符()     

Cells.Find(What:="分页", After:=ActiveCell, LookIn:=xlValues, LookAt:= _ 

xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _         

.Activate      

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell 

End Sub

Sub 取消原分页()     

Cells.Select      

ActiveSheet.ResetAllPageBreaks 

End Sub

18:将A列最后数据行以上的所有B列图片大小调整为所在单元大小   

Sub 将A列最后数据行以上的所有B列图片大小调整为所在单元大小()     

Dim Pic As Picture, i&      

i = [A65536].End(xlUp).Row     

For Each Pic In Sheet1.Pictures          

If Not Application.Intersect(Pic.TopLeftCell, Range("B1:B" & i)) Is Nothing Then

             Pic.Top = Pic.TopLeftCell.Top

             Pic.Left = Pic.TopLeftCell.Left

              Pic.Height = Pic.TopLeftCell.Height

             Pic.Width = Pic.TopLeftCell.Width

         End If

     Next 

End Sub

19:返回光标所在行数   

Sub 返回光标所在行数()     

x = ActiveCell.Row     

Range("A1") = x 

End Sub        

20:在A1返回当前选中单元格数量   

Sub 在A1返回当前选中单元格数量()     

[A1] = Selection.Count 

End Sub

21:返回当前工作簿中工作表数量

Sub 返回当前工作簿中工作表数量()     

t = Application.Sheets.Count     

MsgBox t 

End Sub        

93:B列录入数据时在A列返回记录时间(工作表代码)

Public Sub Worksheet_Change(ByVal Target As Range) 

If Target.Column = 2 Then 

Target.Offset(, -1) = Now 

End If 

End Sub        

94:当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)   

Public Sub Worksheet_Change(ByVal Target As Range)  

If Not Application.Intersect(Target, [A1:A1000]) Is Nothing Then 

If Target.Column = 1 Then 

Target.Offset(, 1) = Date 

Target.Offset(, 2) = Time 

End If 

End If 

End Sub   

Public Sub Worksheet_Change(ByVal Target As Range)  

If Not Application.Intersect(Target, [A1:A1000]) Is Nothing Then 

If Target.Column = 1 Then  

Target.Offset(, 1) = Format(Now(), "yyyy-mm-dd") 

Target.Offset(, 2) = Format(Now(), "h:mm:ss") 

End If 

End If 

End Sub        

95:指定单元显示光标位置内容(工作表代码)   

Private Sub Worksheet_SelectionChange(ByVal T As Range) 

Sheets(1).Range("A1") = Selection 

End Sub        

96:每编辑一个单元保存文件   

Private Sub Worksheet_Change(ByVal Target As Range) 

ThisWorkbook.Save 

End Sub        

97:指定允许编辑区域

Sub 指定允许编辑区域()  

ActiveSheet.ScrollArea = "B8:G15" 

End Sub        

98:解除允许编辑区域限制   

Sub 解除允许编辑区域限制() 

ActiveSheet.ScrollArea = "" 

End Sub        

99:删除指定行   

Sub 删除指定行()  

Workbooks("临时表").Sheets("表2").Range("5:5").Delete 

End Sub        

100:删除A列为指定内容的行   

Sub 删除A列为指定内容的行() 

Dim a, b As Integer  

a = Sheet1.[a65536].End(xlUp).Row    

For b = a To 2 Step -1        

If Cells(b, 1).Value = "删除" Then          

Rows(b).Delete       

End If    

Next 

End Sub

很难的excel题,谁可以解答?

=IF(A2="小",MAX((B1-1)*IF(A2=A1,1,-1),1),MIN((B1-1)*IF(A2=A1,1,-1),-1))

发点比较实用的excel公式

excle常用公式

都比较实用

excle常用公式一、求字符串中某字符出现的次数:例:求A1单元格中字符"a"出现的次数: =LEN(A1)-LEN(SUBSTITUTE(A1,"a","")) 二、如何在不同工作薄之间复制宏: 1、打开含有宏的工作薄,点“工具/宏(M)…”,选中你的宏,点“编辑”,这样就调出了VB编辑器界面。 2、点“文件/导出文件”,在“文件名”框中输入一个文件名(也可用默认的文件名),注意扩展名为“.bas”,点“保存”。 3、将扩展名为“.bas”的文件拷贝到另一台电脑,打开EXCEL,点“工具/宏/VB编辑器”,调出VB编辑器界面,点“文件/导入文件”,找到你拷贝过来的文件,点“打开”,退出VB编辑器,你的宏已经复制过来了。三、如何在EXCEL中设置单元格编辑权限(保护部分单元格) 1、先选定所有单元格,点"格式"->"单元格"->"保护",取消"锁定"前面的"√"。 2、再选定你要保护的单元格,点"格式"->"单元格"->"保护",在"锁定"前面打上"√"。 3、点"工具"->"保护"->"保护工作表",输入两次密码,点两次"确定"即可。四、excel中当某一单元格符合特定条件,如何在另一单元格显示特定的颜色比如: A1〉1时,C1显示红色 0“条件格式”,条件1设为:公式 =A1=1 2、点“格式”->“字体”->“颜色”,点击红色后点“确定”。条件2设为:公式 =AND(A1>0,A1<1) 3、点“格式”->“字体”->“颜色”,点击绿色后点“确定”。条件3设为:公式 =A1<0 点“格式”->“字体”->“颜色”,点击黄色后点“确定”。 4、三个条件设定好后,点“确定”即出。五、EXCEL中如何控制每列数据的长度并避免重复录入 1、用数据有效性定义数据长度。用鼠标选定你要输入的数据范围,点"数据"->"有效性"->"设置","有效性条件"设成"允许""文本长度""等于""5"(具体条件可根据你的需要改变)。还可以定义一些提示信息、出错警告信息和是否打开中文输入法等,定义好后点"确定"。 2、用条件格式避免重复。选定A列,点"格式"->"条件格式",将条件设成“公式=COUNTIF($A:$A,$A1)>1”,点"格式"->"字体"->"颜色",选定红色后点两次"确定"。这样设定好后你输入数据如果长度不对会有提示,如果数据重复字体将会变成红色。六、在EXCEL中如何把B列与A列不同之处标识出来?(一)、如果是要求A、B两列的同一行数据相比较:假定第一行为表头,单击A2单元格,点“格式”->“条件格式”,将条件设为: “单元格数值”“不等于”=B2 点“格式”->“字体”->“颜色”,选中红色,点两次“确定”。用格式刷将A2单元格的条件格式向下复制。 B列可参照此方法设置。(二)、如果是A列与B列整体比较(即相同数据不在同一行):假定第一行为表头,单击A2单元格,点“格式”->“条件格式”,将条件设为: “公式”=COUNTIF($B:$B,$A2)=0 点“格式”->“字体”->“颜色”,选中红色,点两次“确定”。用格式刷将A2单元格的条件格式向下复制。 B列可参照此方法设置。按以上方法设置后,AB列均有的数据不着色,A列有B列无或者B列有A列无的数据标记为红色字体。七、在EXCEL中建立下拉列表按钮选定你要设置下拉列表的单元格,点“数据”->“有效性”->“设置”,在“允许”下面选择“序列”,在“来源”框中输入你的下拉列表内容,各项之间用半角逗号隔开,如: A,B,C,D 选中“提供下拉前头”,点“确定”。八、阿拉伯数字转换为大写金额假定你要在A5输入阿拉佰数字,B5转换成中文大写金额(含元角分),请在B5单元格输入如下公式: =IF((INT(A5*10)-INT(A5)*10)=0,TEXT(INT(A5),"[DBNum2]G/通用格式")&"元"&IF((INT(A5*100)-INT((A5)*10)*10)=0,"整","零"&TEXT(INT(A5*100)-INT(A5*10)*10,"[DBNum2]G/通用格式")&"分"),TEXT(INT(A5),"[DBNum2]G/通用格式")&"元"&IF((INT(A5*100)-INT((A5)*10)*10)=0,TEXT((INT(A5*10)-INT(A5)*10),"[DBNum2]G/通用格式")&"角整",TEXT((INT(A5*10)-INT(A5)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A5*100)-INT(A5*10)*10,"[DBNum2]G/通用格式")&"分")) 九、EXCEL中怎样批量地处理按行排序假定有大量的数据,需要将每一行按从大到小排序,如何操作?由于按行排序与按列排序都是只能有一个主关键字,主关键字相同时才能按次关键字排序。所以,这一问题不能用排序来解决。解决方法如下: 1、假定你的数据在A至E列,请在F1单元格输入公式: =LARGE($A1:$E1,COLUMN(A1)) 用填充柄将公式向下复制到相应行。 2、用鼠标选定F列,用“查找/替换”的方法,将该列的"$A"替换成"$A$","$E"替换成"$E$"。 3、用鼠标选定F列所有有公式的单元格,用填充柄将公式向右复制到J列。 你原有数据将按行从大到小排序出现在F至J列。如有需要可用“选择性粘贴/数值”复制到其他地方。 注:第1步的公式可根据你的实际情况(数据范围)作相应的修改。十、巧用函数组合进行多条件的计数统计例:第一行为表头,A列是“姓名”,B列是“班级”,C列是“语文成绩”,D列是“录取结果”,现在要统计“班级”为“二”,“语文成绩”大于等于104,“录取结果”为“重本”的人数。统计结果存放在本工作表的其他列。公式如下: =SUM(IF((B2:B9999="二")*(C2:C9999>=104)*(D2:D9999="重本"),1,0)) 输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。十一、EXCEL中某个单元格内文字行间距调整方法。当某个单元格内有大量文字时,很多人都觉得很难将其行间距按自己的要求进行调整。现介绍一种方法可以让你任意调整单元格内文字的行间距:右击单元格,点"设置单元格格式"->"对齐",将"水平对齐"选择"靠左",将"垂直对齐"选择"分散对齐",选中"自动换行",点“确定”。你再用鼠标将行高根据你要求的行距调整到适当高度即可。注:绿色内容为关键点,很多人就是这一点设置不对而无法调整行间距。十二、如何在EXCEL中引用当前工作表名如果你的工作薄已经保存,下面公式可以得到单元格所在工作表名: =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) 十三、相同格式多工作表汇总求和方法假定同一工作薄有SHEET1至SHEET100共100个相同格式的工作表需要汇总求和,结果放在SHEET101工作表中,请在SHEET101的A1单元格输入: =SUM( 单击SHEET1标签,按住Shift键并单击SHEET100标签,单击A1单元格,再输入:)此时公式看上去内容如下: =SUM('SHEET1:SHEET100'!A1) 按回车后公式变为 =SUM(SHEET1:SHEET100!A1) 所以,最简单快捷的方法就是在SHEET101的A1单元格直接输入公式: =SUM('SHEET1:SHEET100'!A1) 然后按回车。十四、如何判断单元格里是否包含指定文本?假定对A1单元格进行判断有无"指定文本",以下任一公式均可: =IF(COUNTIF(A1,"*"&"指定文本"&"*")=1,"有","无") =IF(ISERROR(FIND("指定文本",A1,1)),"无","有") 十五、如何替换EXCEL中的通配符“?”和“*”?在EXECL中查找和替换时,?代表任意单个字符,*代表任意多个字符。如果要将工作表中的"?"和"*"替换成其他字符,就只能在查找框中输入~?~和~*~才能正确替换。十六、EXCEL中排名次的两种方法:(一)、用RANK()函数: 假定E列为成绩,F列为名次,F2单元格公式如下: =RANK(E2,E:E) 这种方法,分数相同时名次相同,随后的名次将空缺。 例如:两个人99分,并列第2名,则第3名空缺,接下来是第4名。(二)、用排序加公式: 1、先在后面用填充柄增加一列(假定为G列)与行号相同的序列数。 2、将全表按分数列(E列)排序,在F2单元格输入1,在F3单元格输入公式: =IF(E3=E2,F2,F2+1) 将公式向下复制到相应行。 3、选定公式列,点“复制”,在F1单元格点右键,点“选择性粘贴/数值”,点“确定”。 4、将全表按最后一列(G列)排序,删除最后一列。 第二种方法分数相同的名次也相同,不过随后的名次不会空缺。十七、什么是单元格的相对引用、绝对引用和混合引用?相对引用、绝对引用和混合引用是指在公式中使用单元格或单元格区域的地址时,当将公式向旁边复制时,地址是如何变化的。 具体情况举例说明: 1、相对引用,复制公式时地址跟着发生变化,如C1单元格有公式:=A1+B1 当将公式复制到C2单元格时变为:=A2+B2 当将公式复制到D1单元格时变为:=B1+C1 2、绝对引用,复制公式时地址不会跟着发生变化,如C1单元格有公式:=$A$1+$B$1 当将公式复制到C2单元格时仍为:=$A$1+$B$1 当将公式复制到D1单元格时仍为:=$A$1+$B$1 3、混合引用,复制公式时地址的部分内容跟着发生变化,如C1单元格有公式:=$A1+B$1 当将公式复制到C2单元格时变为:=$A2+B$1 当将公式复制到D1单元格时变为:=$A1+C$1 规律:加上了绝对地址符“$”的列标和行号为绝对地址,在公式向旁边复制时不会发生变化,没有加上绝对地址符号的列标和行号为相对地址,在公式向旁边复制时会跟着发生变化。混合引用时部分地址发生变化。注意:工作薄和工作表都是绝对引用,没有相对引用。十八、求某一区域内不重复的数据个数例如求A1:A100范围内不重复数据的个数,某个数重复多次出现只算一个。有两种计算方法:一是利用数组公式: =SUM(1/COUNTIF(A1:A100,A1:A100)) 输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。二是利用乘积求和函数: =SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)) 十九、EXCEL中如何动态地引用某列的最后一个单元格?在SHEET2中的A1单元格中引用表SHEET1中的A列的最后一个单元格中的数值(SHEET1中A列的最后一个单元格的数值不确定,随时会增加行数): =OFFSET(Sheet1!A1,COUNTA(Sheet1!A:A)-1,0,1,1) 或者: =INDIRECT("sheet1!A"&COUNTA(Sheet1!A:A)) 注:要确保你SHEET1的A列中间没有空格。二十、如何在一个工作薄中建立几千个工作表右击某个工作表标签,点"插入",选择"工作表",点"确定",然后按住Alt+Enter键不放,你要多少个你就按住多久不放,你会看到工作表数量在不断增加,几千个都没有问题。二十一、如何知道一个工作薄中有多少个工作表方法一: 点"工具"->"宏"->"VB编辑器"->"插入"->"模块",输入如下内容: Sub sheetcount() Dim num As Integer num = ThisWorkbook.Sheets.Count Sheets(1).Select Cells(1, 1) = num End Sub 运行该宏,在第一个(排在最左边的)工作表的A1单元格中的数字就是sheet的个数。方法二: 按Ctrl+F3(或者点"插入"->"名称"->"定义"),打开"定义名称"对话框 定义一个X "引用位置"输入: =get.workbook(4) 点"确定"。 然后你在任意单元格输入=X 出来的结果就是sheet的个数。

工作表中怎么将A列的单元格的格式复制到B列

Excel 技巧 53例

(一)

1、如何在已有的单元格中批量加入一段固定字符?

例如:在单位的人事资料,在excel中输入后,由于上级要求在原来的职称证书的号码全部再加两位,即要在每个人的证书号码前再添上两位数13,如果一个一个改的话实在太麻烦了,那么我们可以用下面的办法,省时又省力:

1)假设证书号在A列,在A列后点击鼠标右键,插入一列,为B列 ;

2)在B2单元格写入: ="13" & A2 后回车;

3)看到结果为 13xxxxxxxxxxxxx 了吗?鼠标放到B2位置,单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。

若是在原证书号后面加13 则在B2单元格中写入:=A2 & “13” 后回车。

2、如何设置文件下拉窗口的最下面的最近运行的文件名个数?

打开“工具”,选“选项”,再选“常规”,在“最近使用的文件清单”下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名,则将“最近使用的文件清单”前的复选框去掉即可。

3、在EXCEL中输入如“1-1”、“1-2”之类的格式后它即变成1月1日,1月2日等日期形式,怎么办?

这是由于EXCEL自动识别为日期格式所造成,你只要点击主菜单的“格式”菜单,选“单元格”,再在“数字”菜单标签下把该单元格的格式设成文本格式就行了。

4、在EXCEL中如何使它象WORD一样的自动定时保存文件?

点击“工具”菜单“自动保存”项,设置自动保存文件夹的间隔时间。如果在“工具”菜单下没有“自动保存”菜单项,那么执行“工具”菜单下“加载宏...”选上“自动保存”,“确定”。然后进行设置即可。

5、用Excel做多页的表格时,怎样像Word的表格那样做一个标题,即每页的第一行(或几行)是一样的。但是不是用页眉来完成?

在EXCEL的文件菜单-页面设置-工作表-打印标题;可进行顶端或左端标题设置,通过按下折叠对话框按钮后,用鼠标划定范围即可。这样Excel就会自动在各页上加上你划定的部分作为表头。

6、在Excel中如何设置加权平均?

加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。

7、如果在一个Excel文件中含有多个工作表,如何将多个工作表一次设置成同样的页眉和页脚?如何才能一次打印多个工作表?

把鼠标移到工作表的名称处(若你没有特别设置的话,Excel自动设置的名称是“sheet1、sheet2、sheet3.......”),然后点右键,在弹出的菜单中选择“选择全部工作表”的菜单项,这时你的所有操作都是针对全部工作表了,不管是设置页眉和页脚还是打印你工作表。

8、EXCEL中有序号一栏,由于对表格进行调整,序号全乱了,可要是手动一个一个改序号实在太慢太麻烦,用什么方法可以快速解决?

如果序号是不应随着表格其他内容的调整而发生变化的话,那么在制作EXCEL表格时就应将序号这一字段与其他字段分开,如在“总分”与“排名”之间空开一列,为了不影响显示美观,可将这一空的列字段设为隐藏,这样在调整表格(数据清单)的内容时就不会影响序号了。

9、用Excel2000做成的工资表,只有第一个人有工资条的条头(如编号、姓名、岗位工资.......),想输出成工资条的形式。怎么做?

这个问题应该这样解决:先复制一张工资表,然后在页面设置中选中工作表选项,设置打印工作表行标题,选好工资条的条头,然后在每一个人之间插入行分页符,再把页长设置成工资条的高度即可。

使用自定义方式重装了一遍中文office97,Excel的打印纸选项中只有A4一种,怎么办?

随便安装一个打印机驱动程序就可以了。

10、在Excel中小数点无法输入,按小数点,显示的却是逗号,无论怎样设置选项都无济于事,该怎么办?

这是一个比较特殊的问题,我曾为此花了十几个小时的时间,但说白了很简单。在Windows的控制面板中,点击“区域设置”图标,在弹出的“区域设置属性”对话面板上在“区域设置”里选择“中文(中国)”,在“区域设置属性”对话面板上在“数字”属性里把小数点改为“.”(未改前是“,”),按“确定”按钮结束。这样再打开Excel就一切都正常了。

11、如何快速选取特定区域?

使用F5键可以快速选取特定区域。例如,要选取A2:A1000,最简便的方法是按F5键,出现“定位”窗口,在“引用”栏内输入需选取的区域A2:A1000。

12、如何快速返回选中区域?

按Ctr+BacksPae(即退格键)。

13、如何快速定位到单元格?

方法一:按F5键,出现“定位”对话框,在引用栏中输入欲跳到的单元格地址,单市“确定”按钮即可。

方法二:单击编辑栏左侧单元格地址框,输入单元格地址即可。

14、“Ctrl+*”的特殊功用?

一般来说,当处理一个工作表中有很多数据的表格时,通过选定表格中某个单元格,然后按下 Ctrl+* 键可选定整个表格。Ctfl+* 选定的区域是这样决定的:根据选定单元格向四周辐射所涉及到的有数据单元格的最大区域。

15.如何快速选取工作表中所有包含公式的单元格?

有时,需要对工作表中所有包含公式的单元格加以保护,或填入与其他单元格不同的颜色,以提醒用户注意不能在有此颜色的区域内输入数据。以下方法可以帮助快速选取所有包含公式的单元格:选择“编辑”\“定位”,单击“定位条件”按钮,在“定位条件”对话框中选择“公式”项,按“确定”按钮即可。

16、如何在不同单元格中快速输入同一数内容?

选定单元格区域,输入值,然后按 Ctrl+ Ener键,即可实现在选定的单元格区域中一次性输入相同的值。

17、只记得函数的名称,但记不清函数的参数了,怎么办?

如果你知道所要使用函数的名字,但又记不清它的所有参数格式,那么可以用键盘快捷键把参数粘贴到编辑栏内。

具体方法是:在编辑栏中输入一个等号其后接函数名,然后按 Ctr+ A键,Excel则自动进入“函数指南——步骤 2之2”。当使用易于记忆的名字且具有很长一串参数的函数时,上述方法显得特别有用。

18、如何把选定的一个或多个单元格拖放至新的位置?

按住Shift键可以快速修改单元格内容的次序。具体方法是:

选定单元格,按下Shift键,移动鼠标指针至单元格边缘,直至出现拖放指针箭头(空心箭头),然后按住鼠标左键进行拖放操作。上下拖拉时鼠标在单元格间边界处会变为一个水平“工”状标志,左右拖拉时会变为垂直“工”状标志,释放鼠标按钮完成操作后,选定的一个或多个单元格就被拖放至新的位置。

19、如何让屏幕上的工作空间变大?

可以将不用的工具栏隐藏,也可以极大化Excel窗口,或者在“视图”菜单中选择“全屏显示”命令。

20、如何使用快显菜单?

快显菜单中包括了一些操作中最常用的命令,利用它们可以大大提高操作效率。首先选定一个区域,然后单击鼠标右健即可调出快显菜单,根据操作需要选择不同命令。

(二) 21、如何使用快显菜单?

快显菜单中包括了一些操作中最常用的命令,利用它们可以大大提高操作效率。首先选定一个区域,然后单击鼠标右健即可调出快显菜单,根据操作需要选择不同命令。

22、如何防止Excel自动打开太多文件?

当Excel启动时,它会自动打开Xlstart目录下的所有文件。当该目录下的文件过多时,Excel加载太多文件不但费时而且还有可能出错。解决方法是将不该位于Xlstart目录下的文件移走。另外,还要防止EXcel打开替补启动目录下的文件:选择“工具”\“选项”\“普通”,将“替补启动目录”一栏中的所有内容删除。

23、如何去掉网格线?

1)除去编辑窗口中的表格线,单击“工具”菜单中的“选项”,再选中“视图”,找到“网格线”,使之失效;

2)除去打印时的未定义表格线

有时会出现这样的情况:你在编辑时未定义的表格线(在编辑窗中看到的也是淡灰色表格线),一般情况下在打印时是不会打印出来的,可有时却偏偏不听使唤给打印出来了,特别是一些所谓的“电脑”VCD中编辑的Excel表格更是这样。要除去这些表格线,只要在单击“文件”、“页面设置”、“工作表”菜单,点击一下“网格线”左边的选择框,取消选择“网格线”就行了。

24、如何快速格式化报表?

为了制作出美观的报表,需要对报表进行格式化。有快捷方法,即自动套用Excel预设的表格样式。方法是:

选定操作区域,选取“格式”菜单中的“自动套用格式”命令,在格式列表框中选取一款你满意的格式样式,按“确定”按钮即可。要注意的是,格式列表框下面有包括“数字”、“边框线”、“字体”等6个“应用格式种类”选项,若某项前面的“x”不出现,则在套用表格样式时就不会用该项。

25、如何快速地复制单元格的格式?

要将某一格式化操作复制到另一部分数据上,可使用“格式刷”按钮。选择含有所需源格式的单元格,单击工具条上的“格式刷”按钮,此时鼠标变成了刷子形状,然后单击要格式化的单元格即可将格式拷贝过去。

26、如何为表格添加斜线?

一般我们习惯表格上有斜线,而工作表本身并没有提供该功能。其实,我们可以使用绘图工具来实现:

单击“绘图”按钮,选取“直线”,鼠标变成十字型.将其移至要添加斜线的开始位置,按住鼠标左键拖动至终止位置,释放鼠标,斜线就画出来了。另外,使用“文字框”按钮可以方便地在斜线上下方添加文字,但文字周围有边框,要想取消它,可选中文字框,调出快显菜单,选择“对象格式”\“图案”,选择“无边框”项即可。

27、如何快速地将数字作为文本输入?

在输入数字前加一个单引号“”’,可以强制地将数字作为文本输入。

28、如何定义自己的函数?

用户在Excel中可以自定义函数。切换至 Visual Basic模块,或插入一页新的模块表(Module),在出现的空白程序窗口中键入自定义函数VBA程序,按Enter确认后完成编

写工作,Excel将自动检查其正确性。此后,在同一工作薄内,你就可以与使用Exed内部函数一样在工作表中使用自定义函数,如:

Function Zm(a)

If a< 60 Then im=‘不及格”

Else Zm=“及格”

End If

End Function

29、如何在一个与自定义函数驻留工作簿不同的工作簿内的工作表公式中调用自定义 函数?

可在包含自定义函数的工作薄打开的前提下,采用链接的方法(也就是在调用函数时加上该函数所在的工作簿名)。假设上例中的自定义函数Zm所在工作薄为MYUDF.XLS,现要在另一不同工作簿中的工作表公式中调用Zm函数,应首先确保MYUDF.XLS被打开,然后使用下述链接的方法:

=MYUDF.XLS! ZM(b2)

30、如何快速输入数据序列?

如果你需要输入诸如表格中的项目序号、日期序列等一些特殊的数据系列,千万别逐条输入,为何不让Excel自动填充呢?在第一个单元格内输入起始数据,在下一个单元格内输入第二个数据,选定这两个单元格,将光标指向单元格右下方的填充柄,沿着要填充的方向拖动填充柄,拖过的单元格中会自动按Excel内部规定的序列进行填充。如果能将自己经常要用到的某些有规律的数据(如办公室人员名单),定义成序列,以备日后自动填充,岂不一劳永逸!选择“工具”菜单中的“选项”命令,再选择“自定义序列”标签,在输入框中输入新序列,注意在新序列各项2间要输入半角符号的逗号加以分隔(例如:张三,李四,王二……),单击“增加”按钮将输入的序列保存起来。

31、使用鼠标右键拖动单元格填充柄?

上例中介绍了使用鼠标左键拖动单元格填充柄自动填充数据序列的方法。其实,使用鼠标右键拖动单元格填充柄则更具灵活性。在某单元格内输入数据,按住鼠标右键沿着要填充序列的方向拖动填充柄,将会出现包含下列各项的菜单:复制单元格、以序列方式填充、以格式填充、以值填充;以天数填充、以工作日该充、以月该充、以年填充;序列……此时,你可以根据需要选择一种填充方式。

32.如果你的工作表中已有某个序列项,想把它定义成自动填充序列以备后用,是否需要按照上面介绍的自定义序列的方法重新输入这些序列项?

不需要。有快捷方法:选定包含序列项的单元格区域,选择“工具”\“选项”\“自定义序列”,单击“引入”按钮将选定区域的序列项添加至“自定义序列”对话框,按“确定”按钮返回工作表,下次就可以用这个序列项了。

33、上例中,如果你已拥育的序列项中含有许多重复项,应如何处理使其没有重复项,以便使用“引入”的方法快速创建所需的自定义序列?

选定单元格区域,选择“数据”\“筛选”\“高级筛选”,选定“不选重复的记录”选项,按“确定”按钮即可。

34、如何对工作簿进行安全保护?

如果你不想别人打开或修改你的工作簿,那么想法加个密码吧。打开工作薄,选择“文件”菜单中的“另存为”命令,选取“选项”,根据用户的需要分别输入“打开文件口令”或“修改文件D令”,按“确定”退出。工作簿(表)被保护之后,还可对工作表中某些单元格区域的重要数据进行保护,起到双重保护的功能,此时你可以这样做:首先,选定需保护的单元格区域,选取“格式”菜单中的“单元格”命令,选取“保护”,从对话框中选取“锁定”,单由“确定”按钮退出。然后选取“工具”菜单中的“保护”命令,选取“保护工作表”,根据提示两次输入口令后退出。

注意:不要忘记你设置有“口令”。

35、如何使单元格中的颜色和底纹不打印出来?

对那些加了保护的单元格,还可以设置颜色和底纹,以便让用户一目了然,从颜色上看出那些单元格加了保护不能修改,从而可增加数据输入时的直观感觉。但却带来了问题,即在黑白打印时如果连颜色和底纹都打出来,表格的可视性就大打折扣。解决办法是:选择“文件”\“页面设置”\“工作表”,在“打印”栏内选择“单元格单色打印”选项。之后,打印出来的表格就面目如初了。

36、工作表保护的口令忘记了怎么办?

如果你想使用一个保护了的工作表,但口令又忘记了,有办法吗?有。选定工作表,选择“编辑”\“复制”、“粘贴”,将其拷贝到一个新的工作薄中(注意:一定要是新工作簿),即可超越工作表保护。当然,提醒你最好不用这种方法盗用他人的工作表。

37、“$”的功用:

Excel一般使用相对地址来引用单元格的位置,当把一个含有单元格地址的公式拷贝到一个新的位置,公式中的单元格地址会随着改变。你可以在列号或行号前添加符号“$”来冻结单元格地址,使之在拷贝时保持固定不变。

38、如何用汉字名称代替单元格地址?

如果你不想使用单元格地址,可以将其定义成一个名字。

定义名字的方法有两种:一种是选定单元格区域后在“名字框”直接输入名字,另一种是选定想要命名的单元格区域,再选择“插入”\“名字”\“定义”,在“当前工作簿中名字”对话框内键人名字即可。使用名字的公式比使用单元格地址引用的公式更易于记忆和阅读,比如公式“=SUM(实发工资)”显然比用单元格地址简单直观,而且不易出错。

39、如何在公式中快速输入不连续的单元格地址?

在SUM函数中输入比较长的单元格区域字符串很麻烦,尤其是当区域为许多不连续单元格区域组成时。这时可按住Ctrl键,进行不连续区域的选取。区域选定后选择“插入”\“名字”\“定义”,将此区域命名,如Group1,然后在公式中使用这个区域名,如“=SUM(Group1)”。

40、如何定义局部名字?

在默认情况下,工作薄中的所有名字都是全局的。其实,可以定义局部名字,使之只对某个工作表有效,方法是将名字命名为“工作表名!名字”的形式即可。

41、如何命名常数?

有时,为常数指定一个名字可以节省在整个工作簿中修改替换此常数的时间。例如,在某个工作表中经常需用利率4.9%来计算利息,可以选择“插入”\“名字”\“定

义”,在“当前工作薄的名字”框内输入“利率”,在“引用位置”框中输入“= 0.04.9”,按“确定”按钮。

42、工作表名称中能含有空格吗?

能。例如,你可以将某工作表命名为“Zhu Meng”。有一点结注意的是,当你在其他工作表中调用该工作表中的数据时,不能使用类似“= ZhU Meng!A2”的公式,否则Excel将提示错误信息“找不到文件Meng”。解决的方法是,将调用公式改为“='Zhu Mg'! A2”就行了。当然,输入公式时,你最好养成这样的习惯,即在输入“=”号以后,用鼠标单由 Zhu Meng工作表,再输入余下的内容。

43、给工作表命名应注意的问题?

有时为了直观,往往要给工作表重命名(Excel默认的荼表名是sheet1、sheet2.....),在重命名时应注意最好不要用已存在的函数名来作荼表名,否则在下述情况下将产征收岂义。我们知道,在工作薄中复制工作表的方法是,按住Ctrl健并沿着标签行拖动选中的工作表到达新的位置,复制成的工作表以“源工作表的名字+(2)”形式命名。例如,源表为ZM,则其“克隆”表为ZM(2)。在公式中Excel会把ZM(2)作为函数来处理,从而出错。因而应给ZM(2)工作表重起个名字。

44、如何拆分或取消拆分窗口?

当我们给一个工作表输入数据时,在向下滚动过程中,尤其是当标题行消失后,有时会记错各列标题的相对位置。这时可以将窗口拆分为几部分,然后将标题部分保留在屏幕上不动,只滚动数据部分。其方法是在主菜单上单击“窗口”\“拆分窗口”。取消拆分窗口时除了使用“窗口”\“撒消拆分窗口”命令外,有捷径:将鼠标指针置于水平拆分或垂直拆分线或双拆分钱交点上,双击鼠标即可取消已拆分的窗口。

45、如何给工作簿扩容?

选取“工具”\“选项”命令,选择“常规”项,在“新工作薄内的工作表数”对话栏用上下箭头改变打开新工作表数。一个工作薄最多可以有255张工作表,系统默认值为6。

46、如何减少重复劳动?

我们在实际应用Excel时,经常遇到有些操作重复应用(如定义上下标等)。为了减少重复劳动,我们可以把一些常用到的操作定义成宏。其方法是:选取“工具”菜单中的“宏”命令,执行“记录新宏”,记录好后按“停止”按钮即可。也可以用VBA编程定义宏。

47、如何快速地批量修改数据?

假如有一份 Excel工作簿,里面有所有职工工资表。现在想将所有职工的补贴增加50(元),当然你可以用公式进行计算,但除此之外还有更简单的批量修改的方法,即使用“选择性粘贴”功能:

首先在某个空白单元格中输入50,选定此单元格,选择“编辑”\“复制”。选取想修改的单元格区域,例如从E2到E150。然后选择“编辑”\“选择性粘贴”,在“选择性粘贴”对话框“运算”栏中选中“加”运算,按“确定”健即可。最后,要删除开始时在某个空白单元格中输入的50。

48、如何快速删除特定的数据?

假如有一份Excel工作薄,其中有大量的产品单价、数量和金额。如果想将所有数量为0的行删除,首先选定区域(包括标题行),然后选择“数据”\“筛选”\“自动筛选”。在“数量”列下拉列表中选择“0”,那么将列出所有数量为0的行。此时在所有行都被选中的情况下,选择“编辑”\“删除行”,然后按“确定”即可删除所有数量为0的行。最后,取消自动筛选。

49、如何快速删除工作表中的空行?

以下几种方法可以快速删除空行:

方法一:如果行的顺序无关紧要,则可以根据某一列排序,然后可以方便地删掉空行。

方法二:如果行的顺序不可改变,你可以先选择“插入”\“列”,插入新的一列入在A列中顺序填入整数。然后根据其他任何一列将表中的行排序,使所有空行都集中到表的底部,删去所有空行。最后以A列重新排序,再删去A列,恢复工作表各行原来的顺序。

方法三:使用上例“如何快速删除特定的数据”的方法,只不过在所有列的下拉列表中都选择“空白”。

50、如何使用数组公式?

Excel中数组公式非常有用,它可建立产生多值或对一组值而不是单个值进行操作的公式。要输入数组公式,首先必须选择用来存放结果的单元格区域,在编辑栏输入公式,然后按ctrl+Shift+Enter组合键锁定数组公式,Excel将在公式两边自动加上括号“{}”。不要自己键入花括号,否则,Excel认为输入的是一个正文标签。要编辑或清除数组公式.需选择数组区域并且激活编辑栏,公式两边的括号将消失,然后编辑或清除公式,最后按Ctrl+shift+Enter键。

51、如何不使显示或打印出来的表格中包含有0值?

通常情况下,我们不希望显示或打印出来的表格中包含有0值,而是将其内容置为空。例如,图1合计列中如果使用“=b2+c2+d2”公式,将有可能出现0值的情况,如何让0值不显示?

方法一;使用加上If函数判断值是否为0的公式,即: =if(b2+c2+d2=0,“”, b2+c2+d2)

方法二:选择“工具”\“选项”\“视窗”,在“窗口选项”中去掉“零值”选项。 方法三:使用自定义格式。 选中 E2:E5区域,选择“格式”\“单元格”\“数字”,从“分类”列表框中选择“自定义”,在“格式”框中输入“G/通用格式;G/通用格式;;”,按“确定”按钮即可。

52、在Excel中用Average函数计算单元格的平均值的,值为0的单元格也包含在内。有没有办法在计算平均值时排除值为0的单元格?

方法一:如果单元格中的值为0,可用上例“0值不显示的方法”将其内容置为空,此时空单元格处理成文本,这样就可以直接用Average函数计算了。

方法二:巧用Countif函数 例如,下面的公式可计算出b2:B10区域中非0单元格的平均值:=sum(b2: b10)/countif(b2: b1o,"0")

53、如何在Excel中实现“自动更正”功能?

Word用户都知道,利用Word的“自动更正”功能可以实现数据的快速输入.但在Excel中却没有类似“自动更正”功能的菜单命令。其实,使用VloopuP函数可以巧妙地解决这一问题。