2015-02-24 3 views
0

Мне нужно работать с Excel, к которому я абсолютно новый. Я ищу решение VBA для ускорения повседневной работы. Вот мой случай: мне нужно проверить ячейки столбца С, который имеет отрицательные, положительные и Netural значения, а затем вставить sysmbols в соответствующих ячейках столбца B.VBA Excel - Вставить символ на основе значения ячейки

Например, если С4 имеет положительное значение (2,345) , B4 должен иметь & u & как символ. Если С5 имеет отрицательное значение (-12.98), а затем В5 должны иметь & д & как символ. И если С6 имеет Netural значение (0.000), то В6 должен быть вставлен с & н & как символ.

Пустой В столбец уже существует, и все значения в колонке C.

+1

Я не верю, что для этого требуется VBA. Простой оператор If должен иметь возможность справиться с этим. – Kyle

+0

Большое спасибо Kyle :) –

ответ

0

Дайте этому попытку:

Sub WhatEver() 
    Dim C As Range 
    Set C = Intersect(ActiveSheet.UsedRange, Range("C:C")) 
    For Each cc In C 
     ccv = cc.Value 
     If ccv <> "" Then 
      If ccv = 0 Then 
       cc.Offset(0, -1).Value = "&n&" 
      ElseIf ccv > 0 Then 
       cc.Offset(0, -1).Value = "&u&" 
      Else 
       cc.Offset(0, -1).Value = "&d&" 
      End If 
     End If 
    Next cc 
End Sub 
+0

Большое спасибо Студенту Гэри. Это работает как волшебство :) –

1

Как говорит Кайл, все, что вам нужно для этого является простой (ну, вложенной), если-формула:

=IF(C1<0;"&d&";IF(C1>0;"&u&";"&n&")) 

Формат довольно проста, if имеет три части, разделенные точкой с запятой. Первый - это логический тест, на который вы проверяете, в этом случае, если значение в C1 меньше (или больше), чем 0. Следующее - это значение, которое вы хотите в ячейке, если утверждение в тесте истинно и наконец, что положить, если это ложь.

В этом случае мы снова тестируем, если C1 не меньше 0, чтобы увидеть, больше ли оно нуля, поэтому в первом есть другой оператор if.

Чтобы применить формулу ко всему столбцу, просто скопируйте ее по всему пути, и ячейка, на которую она ссылается, должна обновляться автоматически.

+0

Спасибо eirikdaude за формулу. Я искал VBA, который я получил от ученика Гэри :) –

Смежные вопросы