2017-12-13 7 views
3

나는 이해할 수없는 미친 문제에 부딪 쳤습니다. 아직 해결 방법을 찾지 못했습니다.VBA가 정의 된 셀 대신 전체 테이블을 채 웁니다.

먼저 다른 통합 문서의 정보에 따라 통합 문서의 여러 시트를 채우는 Excel 매크로가 있습니다. 하나의 통합 문서에 지정된 셀의 값을 포함하고 값만 표시하는 웹 사이트에 대한 하이퍼 링크를 포함하고 싶습니다. 수식을 다음과 같이 삽입하려고 시도합니다.

=HYPERLINK("https://example.com/value","value") 

이 하이퍼 링크는 조건에 맞는 부분에만 표시해야합니다. 이제 미친 부분 : 일반적인 문자열이나 int로 하이퍼 링크를 삽입 할 셀을 채우면 VBA가 제대로 작동하고 지정한 셀만 채 웁니다. 하이퍼 링크를 삽입하면 워크 시트의 전체 열이 채워지지만 다른 모든 것은 같은 방식으로 유지됩니다. 아래의 코드 단편을 검색 할 :

RequestID = Workbook1.ActiveSheet.Cells(i, 1).Text 'Request number 

Workbook2.Sheets("Sheet1").Cells(y, 4) = RequestID  

이것은 단지 세포 (예, 4) 예상대로 정확한 요청 번호를 채워

Workbook2.Sheets("Sheet1").Cells(y, 4) = "RequestID" 

에만 셀 채우고 (예를, 4)와 문자열 "RequestID"예상대로

Workbook2.Sheets("Sheet1").Cells(y, 4) = "=HYPERLINK(" & Chr(34) &"https://example.com/" & RequestID & Chr(34) & "," & Chr(34) & RequestID & Chr(34) & ")" 

이것은 제대로 작동하는 하이퍼 링크가있는 헤더를 제외하고 전체 테이블을 채 웁니다.

나는 정말로 이유를 이해하지 못하고 가능한 모든 문제를 생각할 수 없다. 어쩌면 여기 누군가가 나에게 힌트를 주거나 해결 방법을 알고있을 것입니다.

답변

2

일반 세포를 사용할 때 예상대로 작동했습니다. 그러나 형식화 된 테이블 (일명 ListObject)에서이를 시도했을 때 수식이면서 값이 아니기 때문에 전체 열을 채 웁니다. 이 경우

+0

완벽한, 이것은 내가 예상되는 방식으로 작동 당신이 셀에 하이퍼 링크를 넣어 전에 다음

Application.AutoCorrect.AutoFillFormulasInLists = False

를 설정하십시오 (다음 True로 다시 설정). 나는 이런 식으로 해결 방법을 몰랐다. 고마워요! –