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

Я уверен, что вы можете знать, что вы можете ссылаться на ячейки excel, используя ячейки (строка #, столбец #). –

+0

Затем, используя переменные для номеров строк и/или столбцов, вы можете быть немного более динамичными, на какой ячейке вы ссылаетесь или легко конструируете код для циклического прохождения и обработки диапазона ячеек. –