잘못된 참조 추적 (Microsoft Excel)
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 [잘못된 참조 추적]
.