인터페이스 대시보드를 만들려고 합니다. 아래 스크린샷이 있습니다. 개념은 기본 페이지의 드래그다운 목록에서 필터링된 값을 연결하여 두 번째 페이지의 한 열에 있는 동일한 필터링된 값에 연결하는 것입니다. 다양한 변수로 작동하게 할 수없는 것 같습니다 ..
다음은 일부 스크린샷과 현재 VBA 코드입니다. 내가 여기서 뭘 잘못하고 있는 거지? 아니면 이것에 대한 대안이 있습니까?
암호:
Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value
모두의 도움에 감사드립니다 ..
답변1
선택은 당신에게 아무것도 제공하지 않습니다. 선택 및 ActiveSheet 사용은 안전하지 않습니다.
변수를 정의해야 합니다.
Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range
그런 다음 시트와 범위에 대한 참조를 가져와 사용합니다. 좋다:
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value
또는
Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value
또는
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value
등등...