Подскажите пожалуйста как редактировать макрос таким образом, чтобы он показывал влияющие ячейки только с других листов (например на листе 1 есть формула =СУММ(A1; Лист2!B1) - хотелось бы увидеть ссылку только влияющую ячейку с листа 2 [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.ClearArrows Target.ShowDependents Target.ShowPrecedents End Sub
[/vba]
Подскажите пожалуйста как редактировать макрос таким образом, чтобы он показывал влияющие ячейки только с других листов (например на листе 1 есть формула =СУММ(A1; Лист2!B1) - хотелось бы увидеть ссылку только влияющую ячейку с листа 2 [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.ClearArrows Target.ShowDependents Target.ShowPrecedents End Sub
в вашем примере формула ссылается на две ячейки. если в excel щелкнуть *Влияющие ячейки*,то появится две стрелки. Вы хотите,чтобы отображалась только одна стрелка? Но ведь такое нельзя сделать и в самом excel. или я вас неправильно понял?
в вашем примере формула ссылается на две ячейки. если в excel щелкнуть *Влияющие ячейки*,то появится две стрелки. Вы хотите,чтобы отображалась только одна стрелка? Но ведь такое нельзя сделать и в самом excel. или я вас неправильно понял?Karataev
Flatcher, наверно уже неактуально, но если кому пригодиться то для влияющих ячеек вот так: [vba]
Код
Sub ВыделениеСсылокНаДругиеЛисты() Dim x As Long, y As Long, rngDip As Range, strList As String 'Set rngDip = Application.InputBox(prompt:="Укажите диапазон", Type:=8) Set rngDip = Range("A1", Range("A1").SpecialCells(xlLastCell)) Application.ScreenUpdating = False For x = 1 To rngDip.Rows.Count For y = 1 To rngDip.Columns.Count strList = ActiveSheet.Cells(x, y).Formula If InStr(strList, "!") > 0 Then If strList = "#ДЕЛ/0!" Or strList = "#DIV/0!" Then Else If ActiveSheet.Cells(x, y).Comment Is Nothing Then ActiveSheet.Cells(x, y).AddComment.Text strList Else ActiveSheet.Cells(x, y).Comment.Text strList & vbNewLine _ , 1, False End If With ActiveSheet.Cells(x, y) .Font.Bold = True .Value = ActiveSheet.Cells(x, y).Value .Interior.Color = RGB(96, 73, 123) .Font.Color = RGB(255, 255, 255) .Comment.Visible = False .Comment.Shape.DrawingObject.Font.Italic = True .Comment.Shape.DrawingObject.Font.Bold = False End With End If End If Next y Next x Application.ScreenUpdating = True MsgBox "Проверка связей выполнена." End Sub [code]
[/vba]
Flatcher, наверно уже неактуально, но если кому пригодиться то для влияющих ячеек вот так: [vba]
Код
Sub ВыделениеСсылокНаДругиеЛисты() Dim x As Long, y As Long, rngDip As Range, strList As String 'Set rngDip = Application.InputBox(prompt:="Укажите диапазон", Type:=8) Set rngDip = Range("A1", Range("A1").SpecialCells(xlLastCell)) Application.ScreenUpdating = False For x = 1 To rngDip.Rows.Count For y = 1 To rngDip.Columns.Count strList = ActiveSheet.Cells(x, y).Formula If InStr(strList, "!") > 0 Then If strList = "#ДЕЛ/0!" Or strList = "#DIV/0!" Then Else If ActiveSheet.Cells(x, y).Comment Is Nothing Then ActiveSheet.Cells(x, y).AddComment.Text strList Else ActiveSheet.Cells(x, y).Comment.Text strList & vbNewLine _ , 1, False End If With ActiveSheet.Cells(x, y) .Font.Bold = True .Value = ActiveSheet.Cells(x, y).Value .Interior.Color = RGB(96, 73, 123) .Font.Color = RGB(255, 255, 255) .Comment.Visible = False .Comment.Shape.DrawingObject.Font.Italic = True .Comment.Shape.DrawingObject.Font.Bold = False End With End If End If Next y Next x Application.ScreenUpdating = True MsgBox "Проверка связей выполнена." End Sub [code]