2017-09-21 14 views
1

私はVBAを初めて使いました。この問題はおそらく単純な解決策です。私は以下のコードを書いていますが、変数janは常にfalseとして返されます。変数は常にFalseとして返されます

Dim month1 As Integer 
Dim month2 As Integer 
Dim month3 As Integer 
Dim month4 As Integer 
Dim jan As Boolean 

If Not IsEmpty(Sheet1.[K29]) Then month1 = month(Sheet1.[K29]) 
If Not IsEmpty(Sheet1.[K30]) Then month2 = month(Sheet1.[K30]) 
If Not IsEmpty(Sheet1.[K31]) Then month3 = month(Sheet1.[K31]) 
If Not IsEmpty(Sheet1.[K32]) Then month4 = month(Sheet1.[K32]) 

If month1 > 1 Or month2 > 1 Or month3 > 1 Or month4 > 1 Then jan = False 

変数month1、month2などを個別にテストしました。最後に条件付きを除いて、すべてがうまくいくように見えました。すべての変数= 1であっても、janはまだfalseです。

思考?

+3

は 'false'のは' Boolean'変数のデフォルト値です。 – braX

+2

'jan'を定義しているだけで、もう一度それを参照することはありません。どうすればtrueになるでしょうか? – UGP

+0

@UGPセルにテキストを入力するコマンドを作成しました。 Janは最後の行の条件文で参照されます。 – Kim

答えて

3

たぶん、あなたはこのようにそれを試すことができます...

If month1 > 1 Or month2 > 1 Or month3 > 1 Or month4 > 1 Then 
    jan = False 
Else 
    jan = True 
End If 
+0

ああ、それは働いた!私はそれが必要であることと "他人の真実"を認識しませんでした。私はそれがブール変数に固有のものだと考えました。ご協力いただきありがとうございます! – Kim

+1

あなたは 'jan = not(month1> 1またはmonth2> 1またはmonth3> 1またはmonth4> 1)'を実行できます。 – jsotola

+0

@khelmよろしくお願いします! – sktneer

関連する問題