將選定的行複製到另一個工作表

將選定的行複製到另一個工作表

有前。一張工作表中有 10 行。當使用者單擊一行時,它應該顯示在另一個工作表上。是否可以?有什麼幫助可以做到嗎?

編輯: 澄清一下:在一張表中提供了第一年學生考試成績的範例:John 10 8 10 7 Nick 8 9 8 9 Maria 7 8 8 7

第二張紙上有第二年的學生資料:John 9 9 10 8 Nick 8 8 9 7 Maria 7 6 8 8

我想為學生提供某種最終證書,因此摘要資訊應顯示在第三張紙上。我不需要點擊。第三張紙上可能有下拉清單。

答案1

這將是一個快速的巨集:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Sheet2.UsedRange
    'note, this won't copy to row 1, leaving headers intact.
    Target.EntireRow.Copy (.Rows(.Rows.Count + 1).EntireRow)
  End With
End Sub

但是,將其與選擇變更一起使用可能會非常煩人,因為每次選擇另一個儲存格時都會執行它 - 因此您可能需要考慮使用某種回溯或其他方式來執行此操作。

也許只需將程式碼用作自訂巨集並分配一個快捷鍵即可。

編輯

當您只想使用公式執行此操作時,您必須使用公式設定目標行的每個儲存格。我知道沒有辦法直接使用公式來更改單元格,當然帶有公式的單元格除外。

我的建議是,使用命名範圍、VLOOKUP 或 MATCH。

命名範圍可能與您所說的非常接近:

在目的地表上:

A1=14

A2=MYRANGE
B2=MYRANGE
.
.
.
IV2=MYRANGE

MYRANGE 定義為

=INDIRECT("SourceSheet!"&DestSheet!$A$1&":"&DestSheet!$A$1)

這將為您提供目標工作表的第 14 行。如果 A1 在 SourceSheet 上,這也將起作用,只需相應地編輯它即可。

您可以輕鬆地使用兩個命名範圍:

MYDESTRANGE=SourceSheet!MYSOURCERANGE

透過將 MYSOURCERANGE 變更為另一行,您可以有效地變更 MYDESTRANGE 的來源,同時使用與先前相同的行。

相關內容