Использование VBA для вывода значения в столбце с заданным вводом - PullRequest
0 голосов
/ 09 июня 2011

Вот что я хотел бы сделать:

У меня есть список значений в столбце. Я хотел бы, чтобы VBA прочитал этот столбец, а затем вывел значения в новый столбец на основе условий, которые я ему предоставляю. Например, если значение в столбце A находится в диапазоне от 1 до 2, я хотел бы, чтобы значение в столбце b было равно 6, если значение находится в диапазоне от 2 до 3, я хотел бы, чтобы значение в столбце b было равно 20.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Попробуйте это:

Dim r as Range, i as Integer, N as Integer
N = 20 'number of values
Set r = Range("A2").Resize(N,1) 'A2 is top left of column
Dim values() as Variant
values = r.Value   'Read all values from worksheet to array
For i=1 to N
    'Step through the values and transform according to your rules
    If values(i,1)>=1 And values(i,1)<2 then 
        values(i,1) = 6
    ElseIf values(i,1)>=2 And values(i,1)<3 then 
        values(i,1) = -3
    Else If
        ...
    End If
Next i
'Go to columns on the *right* and output transformed array there
r.Offset(0,1).Value = values
2 голосов
/ 09 июня 2011

В B1 вставьте формулы:

=Test(A1)

, затем скопируйте их так, как вам нужно.

Поставьте следующую функцию.

Function Test(v)
    Test = "Default"
    If v >= 1 And v <= 2 Then Test = 6
    If v >= 3 And v <= 4 Then Test = 20
    'Add more conditions here...
End Function

При необходимости переименуйте функцию так, как вы хотите.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...