我需要使用Excel,我绝对是新手。我正在寻找一种VBA解决方案来加速日常工作。这是我的情况:我需要检查C列的单元格,它具有负值,正值和净值,然后在B列的相应单元格中插入sysmbols。
例如,如果 C4 具有正值(2,345), B4 应该具有& u& 作为符号。如果 C5 具有负值(-12.98),则 B5 应为& d& 作为符号。如果 C6 具有自然值(0.000),则 B6 应插入& n& 作为符号。
空 B 列已存在且值均在列 C 中。
答案 0 :(得分:1)
正如凯尔所说,你需要的只是一个简单的(好的,嵌套的)if公式:
=IF(C1<0;"&d&";IF(C1>0;"&u&";"&n&"))
格式非常简单,if有三个部分用分号分隔。第一个是逻辑测试,你测试的是什么,在这种情况下,如果C1中的值小于(或大于)0。如果测试中的语句为真,则下一个是单元格中想要的值,并且如果它是假的,最后该放什么。
在这种情况下,我们再次测试C1是否不小于0,看它是否大于零,这就是为什么在第一个中有另一个if语句的原因。
要将公式应用于整个列,只需将其整个复制,并且它所引用的单元格应自动更新。
答案 1 :(得分: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