2016-10-10 9 views
-1

の手順大きすぎるエラーを受け取った私は、エラーメッセージの下に受信:私がアクセスVBAコード

私はVBAが64Kの制限や手順ごとに何かを持っていると思いますが大きすぎる

手順。このコードを分割する方法は?

If txt29.Value = "" Then 
    Box67.BackColor = labelnull.BackColor 
    cmd29.Enabled = False 
Else 
    cmd29.Enabled = True 
End If 

If txt29.Value = "Yellow" Then 
    Box67.BackColor = LabelYellow.BackColor 
End If 

If txt29.Value = "Blue" Then 
    Box67.BackColor = LabelBlue.BackColor 
End If 

If txt29.Value = "Red" Then 
    Box67.BackColor = LabelRed.BackColor 
End If 

If txt29.Value = "Brown" Then 
    Box67.BackColor = lableBrown.BackColor 
End If 

If txt29.Value = "Pink" Then 
    Box67.BackColor = Labelpink.BackColor 
End If 

If txt29.Value = "White" Then 
    Box67.BackColor = Labelpink.BackColor 
End If 

If txt29.Value = "Grey" Then 
    Box67.BackColor = Labelpink.BackColor 
End If 

If txt29.Value = "Purple" Then 
    Box67.BackColor = Labelpink.BackColor 
End If 

If txt29.Value = "Green" Then 
    Box67.BackColor = LabelGreen.BackColor 
End If 

私はあなたが10の機能10の制御を設定し、それぞれを作成することができます100個のボタン

答えて

0

あなたはコードを短くするために、同様のSelect Caseを使用することができます。値は「黄」であることを起こる場合、それはすべてのオプションを介して実行する必要はありませんよう

If txt29.Value = "" Then 
    Box67.BackColor = labelnull.BackColor 
    cmd29.Enabled = False 
Else 
    cmd29.Enabled = True 
End If 

Select Case txt29.value 
    Case "Yellow" 
    Box67.BackColor = LabelYellow.BackColor 
    Case "Blue" 
    Box67.BackColor = LabelBlue.BackColor 
    Case "Red" 
    Box67.BackColor = LabelRed.BackColor 
    Case "Brown" 
    Box67.BackColor = lableBrown.BackColor 
    Case "Pink" 
    Box67.BackColor = Labelpink.BackColor 
    Case "White" 
    Box67.BackColor = Labelpink.BackColor 
    Case "Grey" 
    Box67.BackColor = Labelpink.BackColor 
    Case "Purple" 
    Box67.BackColor = Labelpink.BackColor 
    Case "Green" 
    Box67.BackColor = LabelGreen.BackColor 
End Select 

また、これをスピードアップします

+0

ありがとうございます – Dana

0

ため、上記と同じ操作を行う必要があります。

次に、これらの10個の機能を1つの「マスター」機能から呼び出します。

+0

ご協力いただきありがとうございます – Dana

0

私は正しい名前でラベルを参照し、それの背面の色を見て言おうとした - それはしかしピンクラベルに動作しません。

If IsNull(txt29.Value) Then 
    box67.BackColor = labelnull.BackColor 
Else 
    box67.BackColor = Me.Controls("Label" & txt29.Value).BackColor 
End If 

また、PR引き起こしますコードが存在しないラベルを参照しようとすると、oblemsが返されます。