Excel如何实现增加行的宏录制
当工作薄的“A表”A列至F列,每天都要增加一行新的数据,我就每天就要做一百多个以下的9个操作步骤,用宏录制来做。我的要求是:到第二天,当工作薄的“A表”第49行A列至F列...
当工作薄的“A表”A列至F列,每天都要增加一行新的数据,我就每天就要
做一百多个以下的9个操作步骤,用宏录制来做。
我的要求是:到第二天,当工作薄的“A表”第49行A列至F列,只要增加一行
新的数据后,我只要按一下宏2快捷键: Ctrl+a,让宏自动选择第49行增加
一行新的数据录制操作,
到第三天,当工作薄的“A表”第50行A列至F列,只要增加一行新的数据后
,我只要按一下宏2快捷键: Ctrl+a,让宏自动选择第50行增加一行新的数
据录制操作,以此类推,请问:如何修改下面的宏的命令,谢谢!
Sub 宏2()
'
' 宏2 宏
'
' 快捷键: Ctrl+a
'
Windows("A表.xlsx").Activate
Range("A48:F48").Select
Selection.Copy
Windows("B表.xlsm").Activate
Range("B48").Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H47:AC47").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("H47:AC48"),
Type:=xlFillDefault
Range("H47:AC48").Select
Range("B48:AC48").Select
End Sub
1、单击任务栏中的工作薄“A表”;
2、选择第48行A列至F列的数据;
3、右键,选择“复制”;
4、单击任务栏中的工作薄“B表”;
5、在第48行右键单击B列;
6、在菜单中粘贴选项:选“值”;
7、选择第47行H列至AC列;
8、用鼠标将第47行H列至AC列的数据(公式),下拉至第48行H列至AC列
9、选择B表48行H列至AC列 展开
做一百多个以下的9个操作步骤,用宏录制来做。
我的要求是:到第二天,当工作薄的“A表”第49行A列至F列,只要增加一行
新的数据后,我只要按一下宏2快捷键: Ctrl+a,让宏自动选择第49行增加
一行新的数据录制操作,
到第三天,当工作薄的“A表”第50行A列至F列,只要增加一行新的数据后
,我只要按一下宏2快捷键: Ctrl+a,让宏自动选择第50行增加一行新的数
据录制操作,以此类推,请问:如何修改下面的宏的命令,谢谢!
Sub 宏2()
'
' 宏2 宏
'
' 快捷键: Ctrl+a
'
Windows("A表.xlsx").Activate
Range("A48:F48").Select
Selection.Copy
Windows("B表.xlsm").Activate
Range("B48").Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H47:AC47").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("H47:AC48"),
Type:=xlFillDefault
Range("H47:AC48").Select
Range("B48:AC48").Select
End Sub
1、单击任务栏中的工作薄“A表”;
2、选择第48行A列至F列的数据;
3、右键,选择“复制”;
4、单击任务栏中的工作薄“B表”;
5、在第48行右键单击B列;
6、在菜单中粘贴选项:选“值”;
7、选择第47行H列至AC列;
8、用鼠标将第47行H列至AC列的数据(公式),下拉至第48行H列至AC列
9、选择B表48行H列至AC列 展开
展开全部
意思不是太明白,是不是要做到:每次在A表录入数据后,自动将新录入的A:F行的数据复制到B表,并进行后续的操作?
录入数据是在哪些单元格进行?
你所录制的宏的单元格是固定的,每次都用这个宏,必须要改变单元格区域,否则每次执行都是复制第48行数据。
录入数据是在哪些单元格进行?
你所录制的宏的单元格是固定的,每次都用这个宏,必须要改变单元格区域,否则每次执行都是复制第48行数据。
追问
是的,每次在A表录入数据后,自动将新录入的A:F行的数据复制到B表,并进行后续的操作。
我的要求是:第一天的48行完成后,到第二天,当工作薄的“A表”第49行A列至F列,增加一行新的数据后,我只要按一下宏2快捷键: Ctrl+a,让宏自动选择第49行增加一行新的数据操作并进行后续的操作,不让宏重复第一天的48行的操作,要让自动选择第49行增加一行新的数据操作并进行后续的操作,以此类推,谢谢!
追答
把这些代码复制到A表的代码窗口空白处:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Rng = Intersect(Target, Range(Cells(Target.Row, 1), Cells(Target.Row, 6)))
If Rng Is Nothing Then Exit Sub
i = Target.Row
If Cells(i, 1) "" And Cells(i, 2) "" And Cells(i, 3) "" And Cells(i, 4) "" And Cells(i, 5) "" And Cells(i, 6) "" Then 'A至E都有数据才执行复制操作,否则退出
Range("A" & i & ":F" & i).Copy
Sheets("B表").Select
Sheets("B表").Range("B" & i).PasteSpecial Paste:=xlPasteValues
Sheets("B表").Range("B" & i + 1).Select
Sheets("B表").Range("H" & i - 1 & ":AC" & i - 1).AutoFill Destination:=Sheets("B表").Range("H" & i - 1 & ":AC" & i), Type:=xlFillDefault
Sheets("A表").Select
Sheets("A表").Range("A" & i + 1).Select
Else: Sheets("A表").Cells(i, Target.Column + 1).Select
End If
End Sub
不需要快捷键了,A表的A:F全部6个单元格都输完数据后,会自动进行复制等操作。
如果其中有一个单元格无数据,则不执行操作。
上述代码是利用表格的change事件触发操作,操作是瞬间完成的,所以基本上感觉不到过程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询