2015-02-24 143 views
0

插入符号,我需要用Excel对此我绝对新的工作。我正在寻找一种VBA解决方案来加速一些日常工作。这是我的情况下:我需要检查其具有负,正和netural值,然后在相应的列B.VBA的Excel - 基于单元格的值

例如细胞插入sysmbols列C的细胞中,如果C4具有正值(2345) ,B4应该有&ü&的象征。如果C5具有负值(-12.98),则B5应具有& d &作为符号。如果C6具有netural值(0.000),然后B6应当与&Ñ&作为标志插入。

一个空的B列已经存在,值全部在列C

+1

我不相信这需要VBA。一个简单的If语句应该能够处理这个。 – Kyle 2015-02-24 20:41:24

+0

非常感谢凯尔:) – 2015-02-24 23:06:42

回答

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

非常感谢加里的学生。它的作用就像一个魔术:) – 2015-02-24 23:04:07

1

凯尔说,所有你需要的是一个简单的(当然,嵌套)如果配方:

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

格式是非常简单的,如果有三个部分用分号隔开。第一个是逻辑测试,你测试的是什么,在这种情况下,如果C1中的值小于(或大于)0。下一个是你希望在单元格中的值,如果测试中的语句为真,并且如果它是错误的,最后应该输入什么。

在这种情况下,如果C1不小于0,我们再次测试,看它是否大于零,这就是为什么在第一个if语句中有另一个if语句的原因。

要将公式应用于整个列,只需将其全部复制下来,并且引用的单元格应自动更新。

+0

感谢eirikdaude公式。我正在寻找我从加里的学生那里得到的VBA :) – 2015-02-24 23:05:41

相关问题