我不知道你在表(3).Range( “V7”)和片(3).Range( “V12”)
之间有什么样的数据,但探微你PasteSpecial的面前,你768,16跟踪最后一次在Sheet(“sheets3”)中特定单元格中的表格中粘贴数据的位置(“sheets3”),例如:表格(“Sheet3”)。Range(“A1”)
Then (“Sheet3”)。范围(表格(“表格3”)。范围(“A1”)。偏移(5,0))您可以粘贴特定于此单元的第5行,如下所示:
表.PasteSpecial 之后您更新表格( “Sheets3”)。Range(“A1”)= Sheets(“sheet3”)。Range(Sheets(“Sheets3”)。Range(“A1”)。Offset(5,0))。地址
应该做的工作:
Private Sub CommandButton2_Click()
Dim oWsSource as Worksheet
Dim oWsDestination as Worksheet
Set oWsDestination = ThisWorkbook.Worksheet("Sheets3")
Set oWsSource = ThisWorkbook.Worksheet("Sheets2")
'Do the copy
oWsSource.OLEObjects("CheckBox1").Copy
oWsDestination.Range(oWsDestination.Range("A1").Value).Offset(5,0)).PasteSpecial
oWsDestination.Range("A1").Value = oWsDestination.Range(oWsDestination.Range("A1").Value).Offset(5, 0)).Address
End Sub
我可能是错的这个,但是如果工作簿被关闭,然后重新打开'lRow'将重置为0,并且计数器将重新开始并粘贴复选框(如果已经存在的话)。 –
这是真的。 OP没有声明每次打开工作簿时都需要从底部开始。如果是这样,他可以找到最后一个并使用它。 – MatthewD