有没有办法在不使用VB代码的情况下将Excel工作表中的行同步到另一个工作表?

时间:2017-07-20 15:46:40

标签: excel

有没有简单的方法来同步Excel工作表中的行,其中一张工作表上的第一列与另一工作表中另一列的值相等而不使用VB代码?第一列的值是使用command = Sheetname!Ax。 问题是,如果有人在用作参考的第二张纸上对列进行排序,则在主页上数据不会被排序以跟随第一列的更改。

1 个答案:

答案 0 :(得分:0)

使用VBA在线发现的一种可能性如下:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Const COL1 = "A:A" 'amend column on sheet 1 to suit
Const COL2 = "B:B" 'amend column on sheet 2 to suit
Const SH1 = "Sheet1" 'amend sheet name to suit
Const SH2 = "Sheet2" 'amend sheet name to suit (this is the other linked sheet)


Dim rng As Range, cell As Range
Dim rngoth As Range

Select Case Sh.Name
    Case SH1
        Set rng = Application.Intersect(Sh.Range(COL1), Target)
        Set rngoth = Worksheets(SH2).Range(COL2)
    Case SH2
        Set rng = Application.Intersect(Sh.Range(COL2), Target)
        Set rngoth = Worksheets(SH1).Range(COL1)
End Select
If Not rng Is Nothing Then
    Application.EnableEvents = False
    For Each cell In rng
        rngoth.Cells(cell.Row, 1).Value = cell.Value
    Next cell
    Application.EnableEvents = True
End If

End Sub

您只需要更改一些常量值供您使用。这很容易实现。你为什么不想使用VBA?