excel - 协助 (XLtoright) 功能。VBA
问题描述
我想将列选择 (a2:a200) 粘贴到右侧的下一个可用列。我很难做到这一点。在这里,我从表格中复制数据并将其粘贴到右侧最后一个可用列中。
Sub CopyMonthData() Worksheets("Tables").Range("d2:d200").Copy _
Worksheets("SalesInvoicesMonth").Range("a" & Columns.Count).End(xlToLeft).Offset(1, 0) End Sub
我怎样才能使这项工作?
解决方案
你可以UsedRange
改用。
Sub CopyMonthData()
Dim iLastCol as Integer
With Worksheets("SalesInvoicesMonth")
iLastCol = .UsedRange.Column + .UsedRange.Columns.Count - 1
Worksheets("Tables").Range("d2:d200").Copy .Cells(1,iLastCol + 1)
End With
End Sub
声明iLastCol
可以帮助您了解如何计算值,但变量不是必需的。您可以在复制功能中将其替换为实际值 -->- 1
并+ 1
相互取消,因此您可以.Cells(1,.usedRange.Column + .UsedRange.Columns.Count)
作为目标范围。
推荐阅读
- angular - 如何在 valueChanges 订阅中执行 combineLatest 运算符
- c# - 尝试模拟时,源 IQueryable 未实现 IDbAsyncEnumerable
- c# - Owin context.Response.Body 始终为空
- hashicorp-vault - 无法从 Vault 中解封数据
- javascript - 在反应中访问 this.state 中的值
- javascript - Javascript 传播与继承
- php - 如何在 cakephp 3.6 中从一个表中选择所有记录和从另一个表中选择一些记录
- angular - 在Angular中使用选择时如何仅显示产品活动= 0
- laravel - 如何更改网站的基本 URL - Laravel 5.4
- python - 根据另一个 DataFrame 选择一个 DataFrame 的列