2015-02-24 300 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

相關問題