excel - 使用VBA的动态数据不均匀时如何选择并复制到最后一个单元格
问题描述
input:
45311
0003ML00030-1 0003ML00030-2 0003ML00030-3
0003ML00030-1 0003ML00030-1
请参阅我的快照突出显示区域需要选择,最后一个单元格有时是空白的并且也是动态的。
从上面的输入中,需要选择所有数据并复制它。当我重用工作表时,数据范围可能会有所不同,当时标准公式无法正常工作。
目前我使用这个 VBA 代码。
Sub Macro()
Sheets("input").Select
Range("D2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
End Sub
当我使用此代码时,它选择 Extreme 最后一个单元格(行 1048570 x col 41)。
但在这种情况下,最后一个单元格是(row4 x col7),如果数据范围不同,我需要动态选择
解决方案
这是代码:
Sub Macro()
Sheets("input").Activate
Range("b1").CurrentRegion.Copy
End Sub
通常,要检查最后一个单元格的行号,您可以使用
Cells(Rows.Count, "B").End(xlUp).Row
检查最后一个单元格的列号,您可以使用
Cells(2, Columns.Count).End(xlToLeft).Column
这是修改后的代码和图片的演示。
Sub Macro()
Sheets("input").Activate
Set rng = Range("d1").CurrentRegion
rng.Offset(1, 3).Resize(rng.Rows.Count - 1, rng.Columns.Count - 3).Copy
End Sub
推荐阅读
- selenium - 尽管参数和返回类型看起来都是正确的,但出现 DataProvider Mismatch 错误
- amazon-s3 - Kafka 连接器:S3OutputStream 无法转换为 S3ParquetOutputStream
- sql - Power BI 获取平均时间
- postgresql - 如何创建 30 分钟离散的预订自定义类型?
- go - 常量初始化器 'protoimpl.EnforceVersion(20 - protoimpl.MinVersion)' 不是常量
- python - Python Starlette 长时间运行的作业
- rpa - 如何在任何地方使用自动化编辑剪贴板值
- python - 旋转表格并添加功能
- ethereum - 我的合约未能通过以太币交易但收到 ERC20 代币
- r - 警告消息:在 id == i 中:较长的对象长度不是较短对象长度的倍数