如何实现跨工作表自动引用数据? 求:EXCEL公式(函数)或VBA宏程序

最佳答案

VBA代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%, n&
i = 1: n = 0
On Error GoTo 100
Do
If Sheet2.Range("A" & i) = Target Then n = i: Exit Do
i = i + 4
Loop Until Sheet2.Range("A" & i) = ""
If n = 0 Then Exit Sub
Sheet2.Range("B" & n & ":E" & n + 3).Copy
Cells(Target.Row, Target.Column + 1).Select
ActiveSheet.Paste
Sheet2.Range("A" & n & ":A" & n + 3).Copy
Range(Target.Address).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
100 End Sub
其他回答
其它网友回答:
其它网友回答:
=OFFSET(Sheet2!$A$1,MATCH($A$17,Sheet2!$A:$A)-1+ROW(A1),COLUMN(A1))
其它网友回答:
注意:必须是表中有的数据,否则会出错。
其它网友回答:
如果不想出错可以改成:
其它网友回答:
=IF(COUNTIF(Sheet2!$A:$A,$A$17)>0,OFFSET(Sheet2!$A$1,MATCH($A$17,Sheet2!$A:$A)-1+ROW(A1),COLUMN(A1)),"无此数据")
其它网友回答:
其它网友回答: