VBA宏处理EXCEL数据:将范围A的数据打平填充到范围B;遍历单元格,输出两列,第一列是单元格名,第二列是对应的值

一、将范围A的数据打平填充到范围B

1、需求说明

将A2:D4的值填充到范围A7:A18,如下:

2、实现 

思路:获取A2:D4范围的值到一个数组,循环数组,将值写入到A7:A18

  • 第一步,在excel插入一个按钮,笔者这里用的是一个矩形,右击矩形,选择“指定宏”,在弹出的框中输入宏名称,点击新建,打开VB编辑器

  • 第二步,获取A2:D4的值
Dim arr

arr = Worksheets("sheet1").Range("A2:D4")
  • 第三步,循环遍历arr,在立即窗口(类似于命令窗口和控制台)输出每个值
For Each i In arr

  Debug.Print i

Next
  • 第四步,目标范围是A7:A18,所以定义一个start等于6,在遍历arr时,start自增1,为Astart赋值:
Dim start

start = 6

For Each i In arr
  start = start + 1
  Worksheets("sheet1").Range("A" & start).Value = i
Next

完整代码如下:

Sub 矩形2_Click()

    Dim start
    Dim arr

    start = 6
    arr = Worksheets("sheet1").Range("A2:D4")

    For Each i In arr
      start = start + 1
      Worksheets("sheet1").Range("A" & start).Value = i
    Next

End Sub
  • 第五步,点击矩形,实现将数据写入指定范围。

二、遍历单元格,输出两列,第一列是单元格名,第二列是对应的值

1、需求说明

将A1:C4的数据填充到A6:B18,第一列展示单元格名,第二列展示对应的值,例如A1对应aaa:

2,实现

获取单元格名:target.Cells.Address(0, 0)

获取值:target.Cells

Sub 矩形1_Click()

    Dim start
    start = 5

    For Each i In Worksheets("sheet2").Range("A1:C4")
      start = start + 1
      Worksheets("sheet2").Range("A" & start).Value = i.Cells.Address(0, 0)
      Worksheets("sheet2").Range("B" & start).Value = i.Cells
    Next

End Sub

总结

        本篇记录了使用VBA获取指定范围的数据、遍历数据、为指定范围动态赋值的方法,供个人学习和参考!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值