안녕하세요 모두, 나는 오류 438 받고있다VBA VLOOKUP (438)
- 다음에 대한 속성 또는 메서드를 지원하지 않는 개체.
Cells(4 + Counter, i * Cells(2, 3).Value) =
Application.WorksheetFunction.VLookup(Cells(2, i * Cells(2, 3).Value).Value,
Workbooks(file).Range("$E$1:$N$20"),
Application.WorksheetFunction.Match(Cells(3, i * Cells(2, 3).Value).Value,
Workbooks(file).Range("$E$1:$R$1"), 0), False)
기본적으로 나는 Excel 이외의 프로그램 (CSV)에서 내 컴퓨터로 다운로드되는 파일이 있습니다. 이전 코드에서는 파일 이름이 달라질 때마다 최신 파일 (다운로드 한 파일)을 검색하고 Excel로 가져옵니다. 그런 다음 B1 셀에 파일 이름을 표시하도록합니다 (나중에 이것을 참조 할 수 있습니다). 나는 file = Range ("B1"). value를 가지고 이것을 문자열로 설정한다.
이 열린 파일에서 용어를 검색하고이 셀의 오른쪽에 여러 값을 반환해야합니다. 각 반환 값은 헤더가 변경 될 수 있으므로 다르게 처리되어야하므로 Match를 사용하고 있습니다. 프로세스가 두 번째 파일에있는 데이터를 검색 한 후 카운터를 늘려서 다음 번에 데이터를 가져 오면 새 검색된 데이터가 아래 행에 표시되어 효과적으로 시계열을 만듭니다. 그룹의 수와 가능한 데이터 포인트가 변동하여 여러 그룹에 대해 6 데이터 포인트를 검색해야하기 때문에 열이 그대로 설정됩니다. 셀 (2,3) .Value는 검색해야하는 데이터 포인트의 수입니다. 각 그룹이 워크 시트에 배치되고 각 그룹의 데이터가 워크 시트 아래에 배치되는 템플릿을 만들 수 있습니다.
내 표현의 구문인지 아닌지는 확실하지 않지만 분명히 올바른 것으로 보이는 부분이 나를 혼란스럽게합니다. 일단 내가 그것을 얻을 수있는 다음 나는 모든 그룹에 가져올 필요가 다른 변수로 확장 할 수 있습니다. 많은 감사!
Workbooks (file) .Range ("$ E $ 1 : $ N $ 20")는 시트를 나타내지 않습니다. 범위를 별도의 변수로 정의한 다음 시트 참조를 포함 시켰으므로 더 이상 오류가 발생하지 않습니다. –