excel如何制作一个vba按钮,点一下之后让sheet1里面的部份数据,自动保存到sheet2里面?

如图,一个【点击保存】、一个【清除内容】,清除的内容是指定单元格的内容(黄色标记的)

    如果菜单栏没有“开发工具”选项卡,右击上方菜单栏空白处——自定义功能区,选中“开发工具”

    请点击输入图片描述

    开发工具里面,插入——ActiveX控件,选中按钮,在Excel上拖拽2个按钮

    请点击输入图片描述

    右击按钮,查看代码,可以打开VBE界面(右击按钮,选择属性,里面可以改按钮的显示内容,Caption属性)


Private Sub CommandButton1_Click()

    Sheet2.Range("A1").Value = Sheet1.Range("A10").Value    '将表1中的某个值保存到表2的示例

End Sub


Private Sub CommandButton2_Click()

    Sheet2.Range("A1").Value = ""    '清空Sheet1指定单元格的示例

End Sub

根据示例修改代码

追问

好的,基本实现了。
还有个问题,是Sheet1的A10保存至Sheet2后,不是一直保存到A1。是每点击一次保存,都不覆盖上次的保存。
比如:第一次保存位置为A1,此后的保存自动向下,A2/第二次保存,A3/第三次保存……不覆盖此前的保存。可以实现吗

追答

'获取某列最后一行有内容的行号的命令:
Dim nRow as Long
nRow= Range("A635535").End(xlUp).Row
'如果获取其他列,将A改成对应列号就行
它的下一行就是空的
将Sheet2.Range("A1")改为 Sheet2.Cells(nRow+1, 1) 或者 Sheet2.Range("A" & nRow+1)
这样就不会每次保存覆盖之前保存内容了。
【也可以上面获取nRow的时候直接+1,后面就不用加了】

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-02
你这个料单录制宏就可以了,然后开发工具里插入按钮控件,右键指定宏,或者插入形状,也能指定宏
相似回答