Hello iv在VBA中编写宏,将一些数据从1个工作簿复制到另一个工作簿,我需要将这些数据放在第一个工作簿中的“表”末尾,并且我有问题。我使用了Columns.Count,但这算得上我想的很多列。 Excel工作负载计数5行和95 ~~列。如果需要,我可以更新一些工作负载。谢谢 有我的代码
Sub CopyDataBase()
Dim wb As Workbook
Dim wb2 As Workbook
Dim ws As Worksheet
Dim strFileToOpen As Variant
Dim LastColumn As Range
Dim LastCellColumnNumber As Long
Set wb = ActiveWorkbook
Set ws = Worksheets("CPC1+CPC2 RNI")
Set LastColumn = ws.Cells(1, ws.Columns.Count).End(xlToLeft)
LastCellColumnNumber = LastColumn.Column + 1
strFileToOpen = Application.GetOpenFilename _
(Title:="Please select an Excel file to open", _
FileFilter:="Excel Files *.xlsm (*.xlsm),")
Workbooks.Open Filename:=strFileToOpen
Set wb2 = ActiveWorkbook
wb2.Worksheets("RNI").Range("S2:S4").Select
Selection.Copy
wb.Activate
wb.Worksheets("CPC1+CPC2 RNI").Cells(2 & LastCellColumnNumber).Select
Selection.PasteSpecial Paste:=xlPasteValues
wb2.Close
Set wb = ActiveWorkbook
End Sub
答案 0 :(得分:0)
更改;
wb.Worksheets("CPC1+CPC2 RNI").Cells(2 & LastCellColumnNumber).Select
到
wb.Worksheets("CPC1+CPC2 RNI").Cells(2, LastCellColumnNumber).Select
答案 1 :(得分:0)
感谢@GMalc它的工作! 我将我的代码更改为
wb.Worksheets("CPC1+CPC2 RNI").Cells(2,
LastCellColumnNumber).Select
但我还需要改变
行Set LastColumn = ws.Cells(1, ws.Columns.Count).End(xlToLeft)
到
Set LastColumn = ws.Cells(2, ws.Columns.Count).End(xlToLeft)
谢谢:)
对不起,如果我在这个论坛上问错了我的新手!