Vba 从工作簿复制,粘贴到最后一行+;一排
我有这个代码,但它似乎不工作。我想要的是在活动工作簿(包含数据)上运行宏: 打开数据库(工作簿): 使用以下值将数据库从范围A2复制到最后一行: 将其粘贴到活动工作簿的最后一行,即最后一行下面:Vba 从工作簿复制,粘贴到最后一行+;一排,vba,excel,Vba,Excel,我有这个代码,但它似乎不工作。我想要的是在活动工作簿(包含数据)上运行宏: 打开数据库(工作簿): 使用以下值将数据库从范围A2复制到最后一行: 将其粘贴到活动工作簿的最后一行,即最后一行下面: Set targetWorkbook = Application.ActiveWorkbook filter = "All Excel Files (*.csv),*.csv" caption = "database" customerFilename = Application.GetOpenF
Set targetWorkbook = Application.ActiveWorkbook
filter = "All Excel Files (*.csv),*.csv"
caption = "database"
customerFilename = Application.GetOpenFilename(filter, , caption)
Set customerWorkbook = Application.Workbooks.Open(customerFilename)
Set targetSheet = targetWorkbook.Worksheets(1)
Set sourceSheet = customerWorkbook.ActiveSheet
LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
targetSheet.Range(LastRow + 1, "A").Activate = sourceSheet.Range("A1:T" & LastRow).Value
customerWorkbook.Close
两件事:1) 您应该有源lastrow和目标lastrow
2) 你倒数第二的陈述是错误的
' -- target is activeworksheet
Set targetworkbook = Application.ActiveWorkbook
Set targetsheet = targetworkbook.ActiveSheet
tgtLastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
' -- source is csv file
Filter = "All Excel Files (*.csv),*.csv"
Caption = "database"
customerFilename = Application.GetOpenFilename(Filter, , Caption)
Set customerworkbook = Application.Workbooks.Open(customerFilename)
Set sourcesheet = customerworkbook.ActiveSheet
srcLastRow = sourcesheet.Cells(Rows.Count, 1).End(xlUp).Row
'-- now copy
sourcesheet.Range("A1:T" & srcLastRow).Copy targetsheet.Rows(tgtLastRow + 1)
customerworkbook.Close
嗨,丹,我周末没机会看这个。我今天会检查这个,并让您知道。我已经检查了您和dcromley的代码。两者都是正确的,复制了源表数据。我更喜欢dcromley的答案,因为它复制了一个特定的范围(尽管我仍然需要将A1更改为A2)。我仍然可以在代码的开头使用它。我感谢你的帮助!嗨,克劳利,我周末没机会看这个。我今天会查出来,会让你知道的。我已经查过你和丹的密码了。两者都是正确的,复制了源表数据。我更喜欢你的答案,因为它复制了一个特定的范围(尽管我仍然需要将A1更改为A2),而不像Dan那样从源代码表复制所有UsedRange。谢谢你!
' -- target is activeworksheet
Set targetworkbook = Application.ActiveWorkbook
Set targetsheet = targetworkbook.ActiveSheet
tgtLastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
' -- source is csv file
Filter = "All Excel Files (*.csv),*.csv"
Caption = "database"
customerFilename = Application.GetOpenFilename(Filter, , Caption)
Set customerworkbook = Application.Workbooks.Open(customerFilename)
Set sourcesheet = customerworkbook.ActiveSheet
srcLastRow = sourcesheet.Cells(Rows.Count, 1).End(xlUp).Row
'-- now copy
sourcesheet.Range("A1:T" & srcLastRow).Copy targetsheet.Rows(tgtLastRow + 1)
customerworkbook.Close