2017-07-20 7 views
0

私のコードには少なくとも6つの異なる変数があります。そのうち3つは変種、3つはストリングスです。私は値を持つバリアントを数え、2つのバリアント、3つの文字列のような値を持つ文字列を数え、それらが等しいかどうかを確認したいと思います。VBA値を使って変数を数える方法

アイデア?

+1

サンプル・データに加えて、あなたはすでに試したことは、あなたの質問に役立つだろう。 –

+0

バリアントは日付であり、単にWA1、WA2、WA3という名前で、文字列はWS_1、WS_2、WS_3という名前のテキストです。それらの値はすべて、他の変数または条件付きワークシートから得られます。私は最初にそれらを数えようとしなかった、私はちょうど条件でそれらをチェックしたが、それは素晴らしい動作しません。だから私はこれを行う他の方法があるかどうか疑問に思っています。 「WA1 =」「WS_1 <>」「WA1 <>」「WA2 <>」「WS_3 <>」「WA3 =」「WS_1 <>」「WA1 < WS2 = ""そしてWS_2 = ""そしてWS_2 = ""そしてWS_3 = ""またはWS_1 <> ""そしてWA1 = ""そしてWS_2 = ""そしてWS_3 = "" Then ' – Bildircin13

+0

私はあなたここでやっている。たぶん言葉で説明しようか?あなたは、彼らが等しいかどうかをチェックしたいが、それに等しいと言いたいのですか?お互い?すべて同じ値、または同じ値ですか?または? –

答えて

1

多分何かのように:

Sub Tester() 
    Dim WA1, WA2, WA3 
    Dim WS1 As String, WS2 As String, WS3 As String 

    WA2 = Now 
    WS3 = "then" 

    If CountValues(WA1, WA2, WA3) = CountValues(WS1, WS2, WS3) Then 
     Debug.Print "same!" 
    End If 

End Sub 

'of the arguments passed, count how many have a value 
Function CountValues(ParamArray vals()) 
    Dim i As Long, v 
    For Each v In vals 
     If Len(v) > 0 Then i = i + 1 
    Next v 
    CountValues = i 
End Function 
+0

これはうまくいきました。どうもありがとうございます。 :) – Bildircin13

関連する問題