데이터베이스에서 다운로드 한 데이터가 콤보 상자의 범위를 초과하면 새 항목이 표시되지 않습니다. 이에 대응하려면 목록 또는 콤보 상자의 기초가되는 범위를 데이터에 맞게 확장하거나 축소해야합니다. 이 문서에서는이를 자동으로 수행하는 방법을 살펴 봅니다.
독자에게 개발자 리본이 표시되고 VBA 편집기에 익숙하다고 가정합니다. 그렇지 않은 경우 Google "Excel 개발자 탭"또는 "Excel 코드 창"을 사용하십시오.
콤보 상자를 표시하는 전문적인 방법은 필요에 따라 범위를 확장하거나 축소하는 것입니다. 예를 들면 :
동적 범위의 핵심은 = countA 함수를 사용하여 관련 열에 채워진 행 수를 모니터링하는 것입니다. 이 함수는 마지막 요소에 도달 할 때까지 셀 시퀀스에서 채워진 요소를 계산합니다. 위 이미지의 첫 번째 다이어그램의 경우 11 행이됩니다.
범위를 유지하려면 채워진 행 수를 추적하기 위해 정의 된 이름이 자동으로 필요합니다. 예를 들어 eCol (끝 열) 및 eRow (끝 행)를 사용하여 범위의 경계를 정의합니다. 더 많은 행을 채울수록 eRow의 값이 커집니다.
위에 정의 된 이름은 eCol (eRow = 1)에 채워진 행 수에 따라 목록을 한 열 너비 (eCol = 11)로 설정했습니다.
마지막으로 제목은 "A2 : A"및 eRow 범위에 나타납니다. Index 함수는“Titles”라는 범위의 마지막 셀을 설정하는 데 사용됩니다. 사실상 "A2 : A"및 eRow 범위는이 단계에서 "A2 : A11"로 변환됩니다.
통합 문서가 표시되기 전에 실행되는 Auto_open 하위 프로 시저를 사용하여 통합 문서가 열릴 때 동적 범위를 자동으로 설정할 수 있습니다.
코드
통합 문서를 열고 콤보 상자와 일부 데이터로 채 웁니다. 이 연습에 사용 된 샘플 워크 북은 여기에서 확인하세요.
VBA 코드 창을 열고 모듈을 삽입하십시오. 아래 코드를 모듈에 복사하십시오.
Auto_Open 이벤트는 동적 범위 "제목"에 대한 마지막 행과 마지막 열 값을 설정하고 후속 변경 사항을 기록합니다.
Sub auto_open()
Dim eRow As Integer, eCol As Integer, i As Long
On Error Resume Next
'Clear the present define names, to avoid any duplications
activeworkbook.Names("eCol").Delete
activeworkbook.Names("eRow").Delete
activeworkbook.Names("Titles").Delete
Range("A1").Select
'Titles will appear in the first column, A in this case
eCol = 1
'Find the last populated row
eRow = Sheets("Main").Cells(Rows.Count, eCol).End(xlUp).Row
'Define the names
activeworkbook.Names.Add Name:="eCol", RefersTo:="=COUNTA($1:$1)"
activeworkbook.Names.Add Name:="eRow", RefersToR1C1:="=COUNTA(C" & ColNo & ")"
activeworkbook.Names.Add Name:="Titles", RefersTo:="=A2:INDEX($2:$200," & "eRow," & "eCol)"
End Sub
Sub DropDown1_Change()
MsgBox "Directed by " & Cells(2, 5)
End Sub
참고 :보기를 단순화하기 위해 모든 것이 단일 페이지에 배치되었습니다. 일반적으로 열 A & B 및 D & E의 값은 숨겨진 다른 시트에 있습니다. 두 번째 열인 B는이 특정 연습의 범위 정의에 사용되지 않습니다. B 열의 값은 콤보 상자의 셀 링크 속성을 통해 일반적인 방법으로 얻습니다 (D2는 범위에서 세 번째 요소의 선택을 반영합니다.tarts at A2,“E3”의 Index 함수와 결합하여 director를 찾습니다 (= INDEX (B : B, D2 + 1,1)).
통합 문서를 저장 한 다음 다시 엽니 다. 콤보 상자는 처음에 Auto_open으로 채워집니다. A 및 B 열에 항목을 추가하고 콤보 상자의 변경 사항을 확인합니다.
손상된 Excel 파일 복구
때때로 Excel이 예기치 않게 충돌 한 후 Excel 파일이 손상 될 수 있습니다. 백업이있는 경우 백업과 함께 데이터를 간단히 복원 할 수 있습니다. 그렇지 않으면 전문 전문가 나 도구를 찾아서 복구해야 할 수도 있습니다. 손상된 Excel 파일.
저자 소개 :
Felix Hooker는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. rar 수리 및 SQL 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM



