excel 如何实现在各个工作表范围内自动引用 制作成 自动识别汇总表

2025-04-16 23:42:28
推荐回答(1个)
回答1:

把模板工作表"Sheet"里的代码修改如下:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim RltRng As Range
    If Target.Count > 1 Then Exit Sub
    If Target <> "" And Target Like "*+*" Then
    i = InStr(Target, "+")
    Target.Characters(i, Len(Target) - i + 1).Font.Superscript = True
    End If
    
    If [E3].Value <> "" Then
        On Error Resume Next
        Set RltRng = Sheets("单元汇总单").UsedRange.Find(What:=Target.Parent.Name, LookAt:=xlPart)
        On Error GoTo 0
        If Not RltRng Is Nothing Then
            RltRng.Value = Target.Value
        Else
            With Sheets("单元汇总单").UsedRange.Find(What:="分类汇总", LookAt:=xlPart).End(xlUp)
                .Offset(1, 0) = [E3].Value
                .Offset(1, 1) = 1
            End With
        End If
        ActiveSheet.Name = [E3]
    End If
End Sub