首页 > 解决方案 > 如何命令 vba 从特定单元格开始粘贴?

问题描述

我最近从我们的一位用户那里收到了一些很棒的代码,用于解决我之前的复制和粘贴问题。

这是我添加手机号码后提供的帮助。

Dim sht1 As Worksheet, sht2 As Worksheet

Set sht1 = Worksheets("Calculation")
Set sht2 = Worksheets("Current")

With sh2

sht2.Cells(Rows.Count, 1).End(xlUp).Offset(1).Value = sht1.Range("A1448").Value

End With

End Sub

我目前正在尝试将它用于另一张纸,但挑战是我希望它从第 5 行开始,因为它是一张桌子。最初,我想使用:

Sheets("Current").Select
Range("A5").Select

但没有运气。任何建议都会对此有很大帮助,因为复制和粘贴代码可以让我的数据收集运行得比以前快得多。

标签: excelvba

解决方案


上的小例子.Offset

想象一下以下设置:

在此处输入图像描述

您的问题中有一行特定的代码将引用列中最后使用的行:sht2.Cells(Rows.Count, 1).End(xlUp)通常后面跟着是.Row指一个位置。现在要做.Offset的是查看这个位置并使用 anIndexRow偏移Column量(请参阅文档),您可以相对于找到的单元格引用另一个单元格。(我希望这很清楚)

因此,在上述情况下,我可以A7通过以下方式输入一个值:

sht2.Cells(Rows.Count, 1).End(xlUp).Offset(2).Value = "TestValue"

在此处输入图像描述

意思是,要写一个值,A10我需要使用(如果A7仍然是空的):

sht2.Cells(Rows.Count, 1).End(xlUp).Offset(5).Value = "TestValue"

推荐阅读