2014-06-17 5 views
0

두 개의 드롭 다운 변수와 드롭 다운에서 3-4 개의 옵션이있는 스프레드 시트에서 작업하고 있습니다. I.E 첫 번째 드롭 다운은 {2-Tier, 3-Tier, 40-Tier} 옵션이되고 두 번째 드롭 다운은 {2-Tier, 3-Tier, 4-Tier}가 될 수 있습니다. 저는 VBA를 처음 접했고 전에 SQL로 작업 한 적이 있습니다. 그래서 어둠 속에서 일종의 촬영을하고 있습니다.여러 기준을 기반으로 VBA 복사 붙여 넣기

기본적으로 선택한 드롭 다운을 기준으로 스프레드 시트에 다른 해당 탭의 가격 격자를 "복사하여 붙여 넣기"하고 "설정 시트"에 붙여 넣기를 원합니다. 두 번의 드롭 다운이 있기 때문에 첫 번째 가격 책정에 Column 8-16이 사용되고 두 번째 가격 책정에 대해 18이 사용되었다고 생각합니다. 여기

내가 가지 지금까지이 무엇 : [나는 완전히이 잘못하고 있어요 이외] 여기

 Sub Ifs() 
    If Worksheets("Set Up Table").Range(B3) = "2-Tier" Then 
    Worksheets("2 Tier MEC Rates").Range(A1, F3).Copy Destination:=Worksheets("Set Up Table").Range(A7) 

ElseIf If Worksheets("Set Up Table").Range(B3) = "3-Tier" Then 
    Worksheets("3 Tier MEC Rates").Range(A1, F4).Copy Destination:=Worksheets("Set Up Table").Range(A7) 

ElseIf If Worksheets("Set Up Table").Range(B3) = "4-Tier" Then 
    Worksheets("4 Tier MEC Rates").Range(A1, F5).Copy Destination:=Worksheets("Set Up Table").Range(A7) 

ElseIf If Worksheets("Set Up Table").Range(B3) = "40-Tier" Then 
    Worksheets("7 Tier MEC Rates").Range(A1, F8).Copy Destination:=Worksheets("Set Up Table").Range(A7) 

    End If 

If Worksheets("Set Up Table").Range(B4) = "2-Tier" Then 
    Worksheets("2 Tier LM Rates").Range(A2, E12).Copy Destination:=Worksheets("Set Up Table").Range(A18) 

ElseIf Worksheets("Set Up Table").Range(B4) = "3-Tier" Then 
    Worksheets("3 Tier LM Rates").Range(A2, E15).Copy Destination:=Worksheets("Set Up Table").Range(A18) 

ElseIf Worksheets("Set Up Table").Range(B4) = "4-Tier" Then 
    Worksheets("4 Tier LM Rates").Range(A2, E18).Copy Destination:=Worksheets("Set Up Table").Range(A18) 

End If 

End Sub 

내 유일한 두려움 즉, 내 모든 가격 테이블이 다른에 따라 공식을 가지고있다 변수를 사용하여 올바른 가격을 결정할 수 있습니다. 그러면이 모든 경우에 어떻게 든 엉망이됩니다.

답변

0

는 첫째로 나는 당신이 여기에 대해 배울 수 select ... case을 활용 한 번 봐 걸릴 것 : Select...Case Statement (Visual Basic)

이것은 당신의 많은 많은 if 문을 정돈하고 당신이 무슨 결정하는 것이 훨씬 쉽게 만들 것 "을 경우의" 특정 옵션이 선택되었습니다.