Vba 如何选择列中的最后一个单元格并将其插入最后一个打开单元格中的另一张图纸

Vba 如何选择列中的最后一个单元格并将其插入最后一个打开单元格中的另一张图纸,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,刚刚开始在VB中使用excel进行编码。我遇到的问题是: 我想在一张纸上复制列中的最后一个单元格,然后将其粘贴到下一张纸上的列中的下一个打开的单元格中。如果可能的话,我可以让它自动执行此操作,而不必每次都调用函数或单击按钮吗 以下是我到目前为止的情况: Sub UpdatePromoCalendar() Dim LR As Long Dim TR As Long LR = WorksheetFunction.Max(20, Range("A" & Rows.Count).End(xlUp

刚刚开始在VB中使用excel进行编码。我遇到的问题是:

我想在一张纸上复制列中的最后一个单元格,然后将其粘贴到下一张纸上的列中的下一个打开的单元格中。如果可能的话,我可以让它自动执行此操作,而不必每次都调用函数或单击按钮吗

以下是我到目前为止的情况:

Sub UpdatePromoCalendar()
Dim LR As Long
Dim TR As Long
LR = WorksheetFunction.Max(20, Range("A" & Rows.Count).End(xlUp).Row + 1)
TR = WorksheetFunction.Max(20, Range("O" & Rows.Count).End(x1Up).Row - 1)
Sheets("Sheet1").Range("O" & TR).CopySpecial xlCopyValues
Sheets("Sheet2").Range("A" & LR).PasteSpecial xlPasteValues
End Sub
现在它使用上面的粘贴选项与LR一起工作。但我无法让它复制列中最后填充的单元格

抱歉,如果这是一个简单的修复我是新的使用excel宏和VB在excel中


提前谢谢你的帮助

我决定重做电子表格,使用带有切片器的透视表,而不是使用宏。我为每个项目创建了单独的表单,并添加了一个名为price master的新列。这样,我就可以用切片器过滤结果,显示一个更干净、更易于使用的模板


宏遇到了很多麻烦,基本上取代了切片器,从长远来看这是一种浪费时间的操作。

当您运行
行时。Count
,您希望它出现在哪张工作表上?您需要添加工作表名称,否则,它将只使用活动工作表的名称。因此,我认为您的
TR
应该是
Sheets(“Sheet2”).Rows.Count
,按照@brucewayn所述,您需要将父表添加到Max函数的两个范围中。否则,它不知道应该在哪个工作表列A和列O上查找最后一个单元格<代码>工作表(“Sheet2”)。范围(“A”和工作表(“Sheet2”)。行数)。结束(xlUp)。行等。感谢您的回复。我添加了您建议添加的代码,到目前为止,我收到了相同的错误。我一直收到一个错误,说是应用程序定义的错误还是对象定义的错误。然后高亮显示:TR=Sheets(“Sheet1”).Range(“O”)和Sheets(“Sheet1”).Rows.Count).End(x1Up.Row