2013-07-02 2 views
0

코드를 6 번 반복하지 않도록 아래 코드를 배열로 복제하려고합니다. 이 경우 TueCum 및 TuePer에서 하나의 값에 따라 코드 색상 두 상자 - 나는 또한 내가 여기까지 가지고PowerPoint VBA - 루프 및 배열 용

If Val(TueCum) >= Val(ProdTarg) * ((2 * Sixth) + SixthLim) Then 
    TueCum.BackColor = &HFF00& 
    TuePer.BackColor = &HFF00& 
    ElseIf Val(TueCum) < Val(ProdTarg) * ((2 * Sixth) - SixthLim) Then 
    TueCum.BackColor = &HFF& 
    TuePer.BackColor = &HFF& 
    Else 
    TueCum.BackColor = &H80FF& 
    TuePer.BackColor = &H80FF& 
End If 

등 WedCum, WedPer을 가지고

Dim Cum(0 To 5) 
Dim CDay As Variant 
Count = 1 

Set Cum(0) = MonCum 
Set Cum(1) = TueCum 
Set Cum(2) = WedCum 
Set Cum(3) = ThuCum 
Set Cum(4) = FriCum 
Set Cum(5) = SatCum 

For Each CDay In Cum 
    If Val(CDay) >= Val(ProdTarg) * ((Count * Sixth) + SixthLim) Then 
     CDay.BackColor = &HFF00& 
     TuePer.BackColor = &HFF00& 
     ElseIf Val(CDay) < Val(ProdTarg) * ((Count * Sixth) - SixthLim) Then 
     CDay.BackColor = &HFF& 
     TuePer.BackColor = &HFF& 
     Else 
     CDay.BackColor = &H80FF& 
     TuePer.BackColor = &H80FF& 
    End If 
Count = Count + 1 
Next CDay 

하지만 같은 시간에 두 textboxes 서식을 가져올 수없는 것, 나는 두 번째 배열 데 시도했다 그러나 그것을 얻을 수 없습니다. 그래서 나는이 일을해야 등

답변

2

, 그것은 WedPer을 계산 때 TuePer, 컬러 WedPer 및 WedCum을 계산 때 TuePer 및 TueCum 색을 만들 필요가 :

Dim Cum(1 To 6) 
Dim Per(1 To 6) 
Dim Count as Integer 

Set Cum(1) = MonCum 
Set Per(1) = MonPer 
Set Cum(2) = TueCum 
Set Per(2) = TuePer 
Set Cum(3) = WedCum 
Set Per(3) = WedPer 
Set Cum(4) = ThuCum 
Set Per(4) = ThuPer 
Set Cum(5) = FriCum 
Set Per(5) = FriPer 
Set Cum(6) = SatCum 
Set Per(6) = SatPer 

For Count = 1 To 6 
    If Val(Cum(Count)) >= Val(ProdTarg) * ((Count * Sixth) + SixthLim) Then 
     Cum(Count).BackColor = &HFF00& 
     Per(Count).BackColor = &HFF00& 
    ElseIf Val(Cum(Count)) < Val(ProdTarg) * ((Count * Sixth) - SixthLim) Then 
     Cum(Count).BackColor = &HFF& 
     Per(Count).BackColor = &HFF& 
    Else 
     Cum(Count).BackColor = &H80FF& 
     Per(Count).BackColor = &H80FF& 
    End If 
Next Count 
+0

안녕하세요 @ d를-stroyer가, 감사합니다! 대단한데, 내가 바꿔야했던 한 가지 작은 변화는'Val (Cum (Count)) = Val (ProdTarg)' 당신의 도움에 다시 한번 감사드립니다! – Conquistador

+0

+1 좋은 답변입니다. – brettdj