excel问题,求解,关于宏的

excel表格中,加入我在a1,a2,a3输入数据,我希望输入结束以后,a1,a2,a3的数据会复制到b1,b2,b3,之后再在a1,a2,a3输入数据,会复制到c1,c2,c3中,以此类推,我要用宏来完成它,另外我希望可以手动控制宏的进行,(就是输入结束可以命令宏开始,不然输错了就改不了了)。哪位大大帮忙啊,完成送分,保证满意

第1个回答  2012-03-19
新建一个工作簿
菜单,工具,宏,安全性,修改为“中”,确定。
然后,按下alt+F11
菜单,插入,模块
将下面的代码复制到右边空白区(代码是根据excel2003写的,2007或者2010相似)
然后
存盘退出
重新打开这个文件,打开时,选择“启用宏”。
再菜单“视图”,“工具栏”,勾选“窗体”
弹出内容中,找到“按钮”
在当前页面添加二个按钮,当时添加一个时,会自动弹出“指定宏”窗口,当添加第一个时,指定“复制内容”这个宏,当添加第二个时,指定“删除内容”这个宏
然后,你在A1:A3输入内容,你确定正确时,按下第一个按钮,看效果,如果你发现错了,可以按第二个按钮,取消。
代码如下

Sub 复制内容()
If [b1] = "" Then
[b1].Resize(3, 1) = Range("a1:A3").Value
Else
Cells(1, Range("IV1").End(xlToLeft).Column() + 1).Resize(3, 1) = Range("a1:a3").Value
End If
End Sub
Sub 删除内容()
If [c1] = "" Then
[b1].Resize(3, 1).ClearContents
Else
Cells(1, Range("IV1").End(xlToLeft).Column()).Resize(3, 1).ClearContents
End If
End Sub追问

谢谢哈,但是另外一位已经给我答案了,麻烦你了

第2个回答  2012-03-19
没发现你有任何使用宏的必要,你直接在另外一个空工作表中一列直接下向依次向下输入值,然后用公式填入b1/b2/b3,c1/c2/c3不是更简单。比如说在空的sheet2的a列a1开始依次向下输入值,然后在其它表的b1列填入公式=OFFSET(Sheet2!$A$1,(COLUMN()-2)*3+ROW()-1,0)
向下拖动三列,再向右拖动填充就可以了。
第3个回答  2012-03-19
你说的a1,a2,a3是指单元格地址吗?
不太理解你到底想要什么效果,如果是单元格的话用宏很好做追问

对的

第4个回答  2012-03-19
好简单的,你把你需要的格式发给我。
第5个回答  2012-03-19
314064076,找我,我帮你弄...追问

qq?

追答

是.

本回答被提问者采纳
相似回答