excel - 如何使用 VBA 从各个列中选择和复制数据并将它们堆叠粘贴到一列中?
问题描述
我是一个使用 excel VBA 的完整菜鸟,所以希望你们中的一个可以帮助我。基本上我想做的就是编写一个 VBA 代码来选择和复制带有标题“日期”的所有日期数据,并将它们堆叠粘贴在一列中。将来会有更多基金的价值和日期数据要添加,因此日期数据列可能不固定(例如,如果我在 A 列中插入新基金的数据,则 A 列下的当前日期数据可能会发生变化到 C 列,但标题“日期”、“FundX 值”将始终存在)。到目前为止我得到的当前代码是不可扩展的——我必须清楚地定义包含日期数据的数组 (1,4,8),但就像我说的,随着要添加的更多数据,数组可能会改变。有没有办法让它动态和可扩展?
非常感谢!
Sub test()
Dim r%, i%
Dim arr, brr
Dim d As Object
Set d = CreateObject("scripting.dictionary")
With Worksheets("sheet1")
For Each j In Array(1, 4, 8)
r = .Cells(.Rows.Count, j).End(xlUp).Row
arr = .Cells(2, j).Resize(r - 1, 1)
For i = 1 To UBound(arr)
d(arr(i, 1)) = Empty
Next
Next
.Range("k2:k" & .Rows.Count).Clear
.Range("k2").Resize(d.Count, 1) = Application.Transpose(d.keys)
End With
End Sub
解决方案
推荐阅读
- python - 我们可以使用 django 中的模型字段添加两个密码字段来验证密码和确认密码吗
- html - 我的导航栏 img 不支持在引导程序中留下浮动
- php - 使用不同代码块的 foreach txt 和图像文件
- python - Buildozer 执行最后一个命令将 kivy 转换为 apk 失败
- javascript - Chartjs不同长度的标签和数据集
- javascript - 如何在最新版本中修复 Braintree javascript 错误“t.getVersion 不是函数”
- python - 字典在python中转换为数组
- javascript - 在表单部分设置超时
- bash - 使用 sed 和 env 变量在 bash 脚本中使用选项卡在特定行插入新行
- excel - 如何使用vba获取excel中的单元格名称