2017-02-21 27 views
1

私の最初のVBAスクリプトで作業していますが、私は立ち往生しています。変数をセルの値とテキストに設定したいのですが、どちらか一方だけに変数を設定することができます。Excel VBA - 変数をテキストとセルの値に設定します

例:

Dim Week As Range 
Dim WeekCurrent As String 

Set Week = .Range("F4") 

If Week.Value = "Initial Week" Then 
    WeekCurrent = "Initial Week" 
Else 
    WeekCurrent = "Week #" Week.Value 
End If 

望ましい結果: "初期ウィーク" 以降に呼び出すための "週#X"。

"Week #"テキストまたはWeek.Valueに設定できますが、両方に設定することはできません。私は間違った宣言などを使っていると確信しています。

現時点では、私の回避策は、この変数をIF THEN ELSEに使用するインスタンスを変更し、コードを複製する必要があるためコーディングの量を2倍にします。フィードバックをお寄せいただきありがとうございます。

+0

あなたは 'WeekCurrent =「週#」Week.Value'を達成するために何をしようとしています?また、Excelの保存された単語である 'Week'という名前の変数を宣言しないようにしてください。 –

+0

私が言及したように。私はweek.valueが数字で、 "Week #n"を出力します。ここでn = week.valueです。 – BetaOp9

+1

あなたは 'WeekCurrent =" Week# "&Week.Value'を使うつもりです –

答えて

1

これを行うための別の方法は次のようになります。

If IsNumeric(Week) Then WeekCurrent = "Week #" & Week Else WeekCurrent = Week 
+0

ニース!このように、より効率的でフレキシブルな – BetaOp9

+0

セル(行#、列#)を使用してExcelを参照することができます。 –

+0

次に、行番号および/または列番号の変数を使用すると、参照するセルのビットがさらに動的になり、簡単にコードを構築して一連のセルをループ処理して処理することができます。 –

関連する問題