【发布时间】:2022-12-11 11:45:02
【问题描述】:
我只在所有列中获得相同的值。这是我的代码,请帮助我进行更改。我想使用以下代码将工作表 1 中的值复制到工作表 2,但它只允许我在所有列中粘贴相同的值。我知道必须对最后一行做些什么。但不确定它是什么。
Private Sub Btn_load_data_file_Click()
Dim FileLocation As String
Dim LastRow As Long
Dim wb As Workbook
Set wb = ActiveWorkbook
FileLocation = Application.GetOpenFilename
If FileLocation = "False" Then
Beep
Exit Sub
End If
Application.ScreenUpdating = False
Set ImportWorkbook = Workbooks.Open(Filename:=FileLocation)
LastRow = ImportWorkbook.Worksheets("Projects").Range("A7").End(xlDown).row
curr_lrow = wb.Worksheets("Projects").Range("A5").End(xlDown).row
'Copy range to clipboard
ImportWorkbook.Worksheets("Projects").Range("B7", "B" & LastRow).Copy
ImportWorkbook.Worksheets("Projects").Range("C7", "C" & LastRow).Copy
'PasteSpecial to paste values, formulas, formats, etc.
wb.Worksheets("Projects").Range("A" & LastRow).PasteSpecial Paste:=xlPasteValues
wb.Worksheets("Projects").Range("C" & LastRow).PasteSpecial Paste:=xlPasteValues
End Sub
【问题讨论】:
-
您好,您的粘贴范围应与复制的范围大小相同。您的 Range("A"+LastRow) 仅返回 1 个单元格。
-
@bracko - 不,这不是必需的。您可以毫无问题地粘贴到单个单元格。
-
您是说
Range("B7", "B" & LastRow)还是Range("B7:B" & LastRow)?第一个只有两个单元格,第二个是第 7 行和LastRow之间的所有单元格。您还需要在每次复制后粘贴 - 您不能复制 2 份然后粘贴 2 次.... -
这有效,谢谢 :)