2017-02-21 510 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的任何實例,因爲我必須複製代碼,因此將編碼量加倍。感謝您的反饋。

+0

什麼是你想實現與'WeekCurrent = 「#周」 Week.Value' ???另外,儘量避免聲明一個名稱爲「Week」的變量,這是一個Excel保存的字 –

+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

我相信你可能知道你可以使用單元格(row#,column#)來引用excel單元格。 –

+0

然後,通過使用行和/或列號的變量,您可以在您引用的單元格上更具動態性,或者輕鬆構建代碼以循環並處理一系列單元格。 –

相關問題