2017-02-21 166 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

然后,通过使用行和/或列号的变量,您可以在您引用的单元格上更具动态性,或者轻松构建代码以循环并处理一系列单元格。 –

相关问题