EXCEL2007宏代码

表2中,在A4-P4中输入数据,当确认输入完成后,A4-P4的数据可以出现在表3的A4-P4中,同时清空表2的A4-P4,即表2的A4-P4可反复使用,当第二次输入时,数据应出现在表3的A5-P5,当第三次输入时,数据应出现在表3的A6-P6,以此类推
以上要求,如何实现,请高手指教!!!

alt+F11
菜单,插入,模块
将以下代码复制到右边空白区域

Sub 填充()
i = Sheets(3).Range("A65536").End(xlUp).Row() + 3
With Sheets(2).Range("A4:P4")
Sheets(3).Range("a" & i & ":P" & i) = .Value
Sheets(2).Range("A4:P4").Clear
End With
End Sub

然后,在sheet2表的Q4做一个窗体按钮,当你创建后会自动弹出一个指定宏窗口,你指定一下“填充”这个宏
确定
然后可以了。
当然你在sheet2中的A4:P4输入完内容,点一下Q4里你做的这个按钮,内容会复制到sheet3
同时sheet3的清空。
如果你的sheet3中A1:A3是有内容的,把i这个变量的+3修改为+1追问

你可以把做窗体按键的过程说的详细一点吗

追答

这也得讲?太无语了
菜单,开发工具,插入,表单控件的第一个。
如果没有开发工具,在文件里,自定义功能区里好好找找吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-05
Sub 按钮1_单击()If [a2] = "" Then Exit Substartrow = 2[b2:b1550].ClearContents[a3:a1550].ClearContentsWith Sheet2.Columns(1)Set rng = .Find(what:=[a2].Value, lookat:=xlWhole)If rng Is Nothing Then[a2].Offset(, 1) = "未找到"ElsemyAddress = rng.AddressDos = s + rng.Offset(, 1)Cells(startrow, 2) = rng.Offset(, 1)startrow = startrow + 1Set rng = .FindNext(rng)Loop While Not rng Is Nothing And rng.Address <> myAddressCells(startrow, 1) = "合计"Cells(startrow, 2) = sEnd IfEnd WithEnd Sub追问

Set rng = .Find(what:=[a2].Value, look
你好,输入后操作时系统提示"语法错误",你能帮帮我吗

相似回答