2014-10-09 3 views
0

두 장의 시트가 있습니다. 'Year'와 'Make'. 나는 년 동안 두 콤보 상자와 함께 userform을 디자인하려고 노력하고있다. 매크로를 실행할 때마다 콤보 상자 'year'가 'year'열의 모든 인스턴스를 하나씩 갖기를 원합니다. 2014 년에 10 건, 2015 년에 20 건, 2016 년에 30 건이 있다고합니다. 나는 3 년 동안 한 번만의 사례가 필요합니다. 고유 한 연도의 수는 다를 수 있습니다. 내가 할 수있는 방법이 있니?Listbox excel vba

데이터 유효성 검사를 사용하면 모든 인스턴스가 생성됩니다. 나는 그것이 한 번 나타나기를 바랄뿐입니다. 제발 도와주세요. 데이터 유효성 검사 또는 콤보 상자 방법이 적합합니다. 나는 단지 우리가 사용할 수있는 해에서 1 년을 선택할 수있는 장소가 필요하다.

+0

'사용 가능한 연도 중에서 '연도'를 선택할 수있는 장소가 필요합니다. 워크 시트의 어느 곳에서나 사용할 수 있습니까? – L42

+0

나는 'home'시트와 'data'시트가 있습니다. '데이터'시트에는 '모델', '연도'및 '문제점'이 있습니다. 홈 시트에는 모델과 연도를 선택할 수있는 목록 상자가있어 특정 선택 항목의 문제 수를 보여주는 차트를 만들 수 있습니다. –

+0

피봇 테이블에서 * 보고서 필터 *를 사용하지 않았습니까? – L42

답변

0

이것은 내 생각에 피벗 테이블을 사용하는 것입니다.
열을 선택하고 그 테이블을 만드십시오.
그런 다음 피벗 테이블을 사용하여 요약합니다. 보고서 필터 입력란에 입력하면 드롭 다운 목록이 나타납니다.

enter image description here

다른 유료

VBA의 방법을 논의 HERE에만 고유 한 값을 출력하는 헬퍼 컬럼을 사용하는 것이다.

=IFERROR(INDEX(Table1[Year],MATCH(MIN(IF(COUNTIF($C$1:C1,Table1[Year])=0,1,MAX((COUNTIF(Table1[Year],"<"&Table1[Year])+1)*2))*(COUNTIF(Table1[Year],"<"&Table1[Year])+1)),COUNTIF(Table1[Year],"<"&Table1[Year])+1,0)),"")

을 (신용의 오스카에) 그리고를 입력 Ctrl 키 + 시프트에게 + 를 사용하여 입력 :

이 공식을 사용하여.
방금 ​​만든 테이블을 사용했음을 유의하십시오.

enter image description here

그 후에, 그것의 명명 된 범위를 생성한다. 당신은 여전히 ​​VBA 필요한 경우

enter image description here

, 그래 그것은 여러 가지 방법으로 수행 할 수 있습니다

enter image description here

그리고 마지막으로, 당신은 검증을 만듭니다.
하지만 그 전에 위의 두 가지 방법 중 하나라도 도움이 될지 판단하십시오. HTH.

+0

정말 고마워요. 내 사장 한테 물어 보자. –