Фон
В VBA вы можете назначить возвращаемое значение оператора Select Case для определенных ячеек , как показано ниже:
Добавить структуру Select Case.
Select Case score
Case Is >= 80
result = "very good"
Case Is >= 70
result = "good"
Case Is >= 60
result = "sufficient"
Case Else
result = "insufficient"
End Select
Объяснение: Excel VBA использует значение переменной Score для проверки каждого последующего оператора Case.чтобы увидеть, должен ли выполняться код в операторе Case.
Записать значение результата переменной в ячейку B1.
Range("B1").Value = result
Это просто для меня, однако я пытаюсь перебратьстолбец ячеек, чтобы сделать то же самое с для цикла .Код выше делает это для одного экземпляра.Тем не менее, я хочу сделать это для каждой ячейки и классифицировать результат в ячейке справа.
Попытка решения
Ниже приведен код, который я использовал до сих пор:
....variables defined at the beginning as strings
Set MyRange = Sheet6.Range("A2:A355")
For each cell In MyRange
Select Case cell.Value
Case Is = raid
result = "area"
Case Is = fifty
result = "one"
... more cases ad nauseum
End Select
Next
Вы можете назначить конкретную ячейку с помощью метода диапазона, описанного выше.Но я хочу присвоить результирующей строке одну ячейку справа (то есть в столбце B, но в той же строке).Отсюда мой вопрос ...
Вопрос
Как мне указать, что я хочу, чтобы результат оператора case выводился один раз в ячейку справа от текущей ячейки в цикле For в VBA