Excel 통합 문서를 워크 시트 링크의 원본으로 사용하도록 강제 설정하려면 어떻게합니까?셀을 대상과 동일한 시트로 이동할 때 셀 참조를 업데이트하는 방법은 무엇입니까?
통합 문서에 Excel 워크 시트를 추가하는 프로세스를 자동화하는 VBA 매크로를 작성하고 있습니다. 워크 시트 (sheet1)는 설문지의 여러 시트 (응답 1, 응답 2, 응답 3) 내에서 특정 (그러나 매우 많은) 응답 만받습니다. 이 결과로 sheet1은 매크로가 실행될 때까지 어디에도 연결되지 않는 많은 셀 참조를 포함합니다.
예를 들어 sheet1의 a1 = "response1 '! b6"입니다. 이것은 #REF를 반환합니다! 매크로가 실행되기 전에 오류가 발생했습니다 (괜찮습니다). 매크로가 실행 된 후 이제 시트 1은 올바른 통합 문서 안에 있고 "= 'response1'! b6"은 이제 유효한 셀 참조입니다.
엑셀은 Sheet1의 셀을 수동으로 클릭하기 전까지는이를 인식하지 못합니다. f2 키를 누른 다음 Enter 키를 누릅니다. 이 작업을 수행하면 셀이 올바르게 채워집니다. 문제는 많은 세포가 있다는 것입니다.
수식 상자를 선택하고 "Enter"키를 눌러이 과정을 시뮬레이션하는 VBA 매크로를 구성 할 수 있습니까? 유사한 문제를 가진 사람들을 찾는 대부분의 사람들은 자동 계산을 다시 시작하거나 ActiveSheet.Calculate 또는 변형과 같은 f9를 조합하여 문제를 해결했습니다. 이 중 아무 것도 작동하지 않았습니다. 참조가 유효한 위치를 가리키고 있지만 참조와 관련한 것으로 보입니다. 데이터> 편집 링크> 업데이트 값 그러나이 경우 우리가 자신의 소스입니다으로 현재 열려있는 통합 문서를 지정해야 할 것 :
- 그렇지 않으면, 그것은 가능한 한 동일한 프로세스를 수행하기 위해 VBA를 사용하는 것입니다. 이 일을 할 수있는 방법이 있습니까?
"Edit Links> Update Values"아래에서 현재 통합 문서를 원본으로 수동 선택하면 ": '[response1] response1! B31"과 같이 셀 참조에서 워크 시트 이름이 이상하게 반복됩니다. 셀 b31이 변경되면 업데이트되지 않으므로 해결책이 아닙니다.
Private Sub CommandButton1_Click()
'copy worksheet into responses
Dim CopyFromWbk As Workbook
Dim CopyToWbk As Workbook
Dim CopyToWbk As Workbook
Set CopyFromWbk = Workbooks("Addition.xlsm")
Set ShToCopy = CopyFromWbk.Worksheets("Sheet1")
Set CopyToWbk = Workbooks("QuestionnaireResponses.xlsm")
ShToCopy.Copy After:=CopyToWbk.Sheets(CopyToWbk.Sheets.Count)
Workbooks("QuestionnaireResponses.xlsm").Activate
'Put code to update links in here
ThisWorkbook.UpdateLink Name:="myfilepathgoeshere.QuestionnaireResponses.xlsm", Type:=xlExcelLinks
'End update links
감사합니다,이 사람은 머리 아마추어입니다.
이전에이 문제가 발생했습니다. 나는 TextToColumns를 사용하면 그것을 처리 할 것이라고 확신한다. – Kyle
똑똑하고 완벽하게 작동했습니다. 이 문제가있는 다른 사람들을 위해 내가 특별히 한 일은 "For"루프를 만들어 내 워크 시트의 열을 순환 한 다음 각 열에 대해 지정한 매개 변수 만 원본 셀과 동일한 대상인 TextToColumns를 수행하는 것입니다. 대단히 감사합니다 카일! – SaintJeremy