Joel은 수천 개의 수식이 들어있는 통합 문서를 닫을 때 최근에 “이 워크 시트의 수식에 하나 이상의 잘못된 참조가 포함되어 있습니다.”라는 메시지가 나타납니다. Joel은이 워크 북에있는 7 개의 워크 시트 중 어떤 것이 참조되는지 어떻게 알 수 있는지 궁금합니다. 잘못된 공식을 어떻게 찾을 수 있습니까? 보고서에 정보를 표시하는 데 문제가 없습니다.

유효하지 않은 참조를 추적하면 실망 스러울 수 있습니다. 당신이 볼 수있는 몇 가지 장소가 있습니다. 첫 번째는 워크 시트에있는 수식입니다. (예, 통합 문서의 각 워크 시트에 대해 이러한 단계를 수행해야합니다.) Go To Special 대화 상자 (F5 키를 누르고 Special 선택)를 사용하여 오류가있는 셀만 이동하도록 선택합니다. 그런 다음 Tab 키를 사용하여 Excel에서 선택한 모든 셀 사이를 이동할 수 있습니다.

찾기 도구를 사용하여 가능한 오류를 찾을 수도 있습니다. Ctrl + F를 눌러 찾기 및 바꾸기 대화 상자의 찾기 탭을 표시 한 다음 # 문자를 검색하십시오. Excel에서 수식 내에서 검색을 수행하도록 지시하십시오. 발견 된 모든 것을 검사하여 오류인지 아닌지 확인하십시오.

또한 통합 문서에 정의 된 명명 된 범위도 살펴 봐야합니다. 정의 대화 상자 (삽입 | 이름 | 정의)에서 각 이름을보고 참조 대상 상자에 오류 표시가 없는지 확인합니다.

여기에 오류가있을 수있는 곳이 전부는 아닙니다. Excel은 많은 곳에 오류가 존재하도록하는 데 정말 좋습니다. 오류를 자주 검색해야하는 경우 수식에서 잠재적 인 오류를 찾는 매크로를 시도 할 수 있습니다.

Sub CheckReferences()

' Check for possible missing or erroneous links in ' formulas and list possible errors in a summary sheet

Dim iSh As Integer   Dim sShName As String   Dim sht As Worksheet   Dim c As Cell   Dim sChar As String   Dim rng As Range   Dim i As Integer, j As Integer   Dim wks As Worksheet   Dim sChr As String, addr As String   Dim sFormula As String, scVal As String   Dim lNewRow As Long   Dim vHeaders

vHeaders = Array("Sheet Name", "Cell", "Cell Value", "Formula")

'check if 'Summary' worksheet is in workbook   'and if so, delete it   With Application     .ScreenUpdating = False     .DisplayAlerts = False     .Calculation = xlCalculationManual   End With

For i = 1 To Worksheets.Count     If Worksheets(i).Name = "Summary" Then       Worksheets(i).Delete     End If   Next i

iSh = Worksheets.Count

'create a new summary sheet     Sheets.Add After:=Sheets(iSh)

Sheets(Sheets.Count).Name = "Summary"

With Sheets("Summary")

Range("A1:D1") = vHeaders   End With   lNewRow = 2

' this will not work if the sheet is protected,   ' assume that sheet should not be changed; so ignore it   On Error Resume Next

For i = 1 To iSh     sShName = Worksheets(i).Name     Application.Goto Sheets(sShName).Cells(1, 1)

Set rng = Cells.SpecialCells(xlCellTypeFormulas, 23)



For Each c In rng       addr = c.Address       sFormula = c.Formula       scVal = c.Text

For j = 1 To Len(c.Formula)

sChr = Mid(c.Formula, j, 1)



If sChr = "[" Or sChr = "!" Or _           IsError(c) Then           'write values to summary sheet           With Sheets("Summary")

.Cells(lNewRow, 1) = sShName             .Cells(lNewRow, 2) = addr             .Cells(lNewRow, 3) = scVal             .Cells(lNewRow, 4) = "'" & sFormula           End With           lNewRow = lNewRow + 1           Exit For         End If       Next j     Next c   Next i

' housekeeping   With Application     .ScreenUpdating = True     .DisplayAlerts = True     .Calculation = xlCalculationAutomatic   End With

Set wks = Nothing   Set sht = Nothing   Set rng = Nothing

' tidy up   Sheets("Summary").Select   Columns("A:D").EntireColumn.AutoFit   Range("A1:D1").Font.Bold = True   Range("A2").Select End Sub

이 매크로는 워크 시트 링크에서 발견 된 오류에 대한 정보를 나열하는 데 사용되는 “Summary”라는 워크 시트를 만듭니다.

또한 링크에서 정보를 찾는 놀라운 작업을 수행하는 Excel MVP Bill Manville의 FindLink 프로그램을 사용할 수도 있습니다. 추가 기능을 사용하여 모든 링크에서 # 문자를 검색하면 오류를 찾는 데 도움이됩니다. FindLink에 대한 자세한 정보는 여기에서 찾을 수 있습니다.

http://www.manville.org.uk/software/findlink.htm

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (8662)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Tracking_Down_Invalid_References [잘못된 참조 추적].