Вопрос по VBA Excel
Что ты подразумеваешь под "переменными"? Ячейки, от которых зависит результат вычисления формулы?
список переменных
Полные адреса ячеек, с именами листов.
Не могу найти как это сделать.
Надо чтобы выводились только переменные первого уровня.
Например:
LIST1_A1=LIST2_B11+LIST2_A2;
LIST2_B11 и LIST2_A2 тоже зависят от каких то ячеек может быть.
Нужно чтобы выводились только LIST2_B11 и LIST2_A2.
For Each c In Range("a1").Precedents
MsgBox c.Address
Next c
Если нужна полная адресация, то использовать c.Address(External:=True)
спасибо, попробую
Sub FindPrecedents
' written by Bill Manville
' With edits from PaulS
' this procedure finds the cells which are the direct precedents of the active cell
Dim rLast As Range, iLinkNum As Integer, iArrowNum As Integer
Dim stMsg As String
Dim bNewArrow As Boolean
Application. ScreenUpdating = False
ActiveCell.ShowPrecedents
Set rLast = ActiveCell
iArrowNum = 1
iLinkNum = 1
bNewArrow = True
Do
Do
Application.Goto rLast
On Error Resume Next
ActiveCell.NavigateArrow TowardPrecedent:=True, ArrowNumber:=iArrowNum, LinkNumber:=iLinkNum
If Err.Number > 0 Then Exit Do
On Error Goto 0
If rLast.Address(external:=True) = ActiveCell.Address(external:=True) Then Exit Do
bNewArrow = False
If rLast.Worksheet.Parent.Name = ActiveCell.Worksheet.Parent.Name Then
If rLast.Worksheet.Name = ActiveCell.Parent.Name Then
' local
stMsg = stMsg & vbNewLine & Selection.Address
Else
stMsg = stMsg & vbNewLine & "'" & Selection.Parent.Name & "'!" & Selection.Address
End If
Else
' external
stMsg = stMsg & vbNewLine & Selection.Address(external:=True)
End If
iLinkNum = iLinkNum + 1 ' try another link
Loop
If bNewArrow Then Exit Do
iLinkNum = 1
bNewArrow = True
iArrowNum = iArrowNum + 1 'try another arrow
Loop
rLast.Parent.ClearArrows
Application.Goto rLast
MsgBox "Precedents are" & stMsg
Exit Sub
End Sub
http://www.ozgrid.com/forum/showthread.php?t=17028
Оставить комментарий
digenet
Подскажите пожалуйста, как получить список переменных, используемых в Excel-формулах.В цикле пробегаются все не пустые ячейки, и на отдельный лист выводятся строки вида:
адрес ячейки=записанная там формула
Нужно так же вывести отдельной строкой список переменных, используемых в каждой формуле.