什么都分享
以及,记录自己的故事
正在载入当前位置天气信息……

Excel教程:使用vba将单元格数据复制到另一列的最后一行

我们先来看一个demo,目的是要达到下面这个效果:

首先,我们需要打开Excel的开发工具,不知道的同学可以按照我以下操作打开。此时是没有开发工具选项卡的。

右击选项卡空白地方,选择自定义功能区

然后将右侧的开发工具打勾,如果在这里找不到,那就从左侧下拉菜单里添加过去,最后点确定完成。

然后就是要插入一个按钮,选择开发工具插入ActiveX控件,第一个按钮。再表格空白的地方单击一下,就会多一个按钮出来。双击这个按钮,就可以进入代码编辑模式了。

基础作业完成后,就是正文了,其实做法很简单,几行代码就可以搞定了。

Private Sub CommandButton1_Click()
Worksheets("Sheet1").Range("A2").Copy Destination:=Worksheets("Sheet1").Range("C" & Cells(Rows.Count, "c").End(3).Row + 1)
[b2] = Cells(Rows.Count, "c").End(3).Row
End Sub

其中Worksheets("Sheet1").Range("A2").Copy是执行源数据的复制动作,"Sheet1"是工作表名,"A2"是单元格坐标。

Destination:=Worksheets("Sheet1").Range("C" & Cells(Rows.Count, "c").End(3).Row + 1)的意义是目的单元格的坐标,"Sheet1"是工作表名,"C"是C列,Cells(Rows.Count, "c").End(3).Row是指C列中包含数据的行数,后面的+1是代表加一行,整段代码就是为了拿到C列的最后一个非空行的行号。

[b2] = Cells(Rows.Count, "c").End(3).Row是为了Debug用,显示C列中包含数据的行数。生产环境中可以删除它。

代码写好后,关闭设计模式,就可以使用了。

DEMO下载:复制DEMO

打赏
本文遵守创作共享 BY-NC-ND 4.0协议,转载前请先联系作者。绯末博客 » Excel教程:使用vba将单元格数据复制到另一列的最后一行
分享到: 更多 (0)

评论 8

  1. #1

    听名字

    匿名8个月前 (08-24)回复
  2. #2

    学海无涯,博客有道!拜读咯!

    健康网6个月前 (10-26)回复
  3. #3

    一天不来访,浑身上下痒!

    小吃技术5个月前 (11-27)回复
  4. #4

    一言不发岂能证明我来过了?!

    中医秘方4个月前 (12-11)回复
  5. #5

    很少能看到这么专注的博客啦!

    约炮把妹4个月前 (12-15)回复
  6. #6

    这样精彩的博客越来越少咯!

    中青看点4个月前 (12-15)回复
  7. #7

    留个脚印,并预祝博主下一年快乐,因为我知道博主今年很快乐!

    促美优品4个月前 (12-18)回复
  8. #8

    文章大有看点,支持!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏