2011-03-17 60 views
0

我在掙扎,想知道是否有任何簡單的方法來引用當前/活動行的單元格。Excel中有沒有辦法編輯另一個工作表中的選定行?

即 - 我有2片,一個具有大量的信息上,並且所述第二我要上表顯示從電流/活動行信息1.

排5在表1中選擇。然後所以說如果您轉到工作表2,則第5行中的所有信息都將顯示在工作表2上。然後,如果您選擇第1工作表中的第8行,工作表2上的信息將被更新爲僅顯示工作表1中第8行的信息。

當你回到表1

是否有可能一個簡單的公式我可以添加到她的細胞

您在表2所做的任何更改都將反映et 2?也許沿着線的東西:

cell A1 on sheet 2 have =sheet1(active_row.colum1) 

and then cell A2 on sheet 2 have =sheet1(active_row.colum2) 

等,等

我已經成功地得到它使用宏樣的工作,但唯一的問題是,當我改變Sheet 2上的信息,它不會更新工作表1上的信息。如果有一種方法可以將此功能添加到我的代碼中,那將非常棒。

這是我到目前爲止的代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim myList 
If Target.Address <> Target.EntireRow.Address Then Exit Sub 
If Target.Rows.Count > 1 Then Exit Sub 
myList = [{"B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","B11","B12","B13","B14","B15"}] '<- adjust to your need 
With Target.EntireRow 
    For i = 1 To UBound(myList) 
     Sheets("sheet2").Range(myList(i)).Value = .Cells(i).Value 
    Next 
End With 
End Sub 

有什麼建議? :)

+0

它可以用VBA來完成。但是你確定anohter工作表中的選擇是否是突出顯示範圍的正確選擇?在第二個或另一個表單中的單元格中寫入5或8會更簡單。然後,第二張紙上的所有更改都可以由公式驅動。 – momobo 2011-03-17 15:04:53

+0

我不確定你的意思?但是,如果有一種更簡單的做事方式,那我肯定會爲之努力!:) – ade123 2011-03-17 15:42:40

+0

我希望能夠做的就是說我在表格1的第5行上,我希望表格2顯示來自sheet1,row5的所有信息。然後,如果我移動到在sheet1上說第12行,我希望sheet2上的信息從顯示sheet1,row5中的信息更改爲顯示sheet1,row12中的信息。我不知道我是否很好地解釋了這一點:P – ade123 2011-03-17 15:45:06

回答

0

是的,你可以做到這一點,但這有點複雜

你想在表1中選擇的一行中顯示Sheet 2上,然後都能夠編輯第2頁自動更新表1.

你必須做的是,你是如何使用選擇事件,並將該行復制到工作表2中。然後,您必須使用工作表1上的激活事件將該行復制回工作表1.請注意以下代碼假定工作表1在單元格中沒有工作表函數(公式)你仍然可以這樣做,但是你必須保留這些公式並替換它們。

表1個代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

If Target.Address <> Target.EntireRow.Address Then Exit Sub 
If Target.Rows.Count > 1 Then Exit Sub 

Target.EntireRow.Copy 
Sheets("Sheet2").Activate 
Sheets("Sheet2").Range("A1") = Target.Row 
Sheets("Sheet2").Rows(2).PasteSpecial (xlPasteValues) 

End Sub 

表2編號:

Private Sub Worksheet_Deactivate() 

If Sheets("Sheet2").Range("A1") > 0 Then 
    Sheets("Sheet2").Rows(2).Copy 
    Sheets("Sheet1").Activate 
    ActiveSheet.Rows(Sheets("Sheet2").Range("A1")).EntireRow.PasteSpecial (xlPasteValues) 
    Sheets("Sheet2").UsedRange.ClearContents 
End If 

End Sub 
1

簡短的回答是不,Excel沒有以這種方式工作:

你不能用一個公式做到這一點。沒有功能可與活動工作表或其他工作表上的活動單元一起使用。此外,Excel計算引擎無法識別在更改選擇或在工作表之間移動時需要重新計算。

+0

我認爲這可能是真的。我曾設法在一個宏內完成它,但唯一的麻煩是如果我改變sheet2上的信息,它不會更新sheet1上的信息。如果任何人有任何關於如何添加此功能的提示,那就太棒了。我已經更新了我的問題,以顯示我到目前爲止的宏代碼:) – ade123 2011-03-18 09:52:06

+0

如果將宏指定給按鍵,則可以輕鬆地重新運行該宏。它不像你想的那樣自動,但總比沒有好。 – paulmorriss 2011-03-18 10:13:10

+0

不知道我會如何去真的。這是否意味着如果我在表二上更改了某些內容,它會更新sheet1上的信息?任何幫助,這將是偉大的!因爲我已經做了我想做的事情,它只是增加了能夠編輯宏顯示的信息的功能,並且在主表單上進行此更新將是非常棒的!我已經在頂部更新了我的問題,以顯示迄今爲止的宏代碼:) – ade123 2011-03-18 12:52:39

相關問題