2017-02-10 122 views
0

我在我的Excel文件中有兩列。 A列是數值,B列是單位(kg/g)。我需要將所有值轉換爲g(如在c列中)。這裏有一個例子:Excel:如果列B等於值,編輯A列

A  B  C 
0.75  kg 750.00 
0.80  kg 800.00 
700.00 g  700.00 
500.00 g  500.00 

我看着VBA劇本,但因爲我沒有使用過他們之前,我無法將其編輯成我的需要的。有任何想法嗎?

+5

爲什麼使用vba?把這個放在C1:= IF(B2 =「kg」,A2,A2/1000) – User632716

+0

也是你的例子沒有意義,500g = 700kg? – User632716

+3

@tompreston - 這是一個特殊的超市軟件:) – Vityata

回答

1

如果你不想使用VBA(而你真的不需要,真的),從@tom_preston上面的公式是幾乎正確。

在「C2」中,您可以使用公式= IF(B2 =「kg」,A2 * 1000,A1)並將其複製下來。

+0

我不知道你可以做到這一點沒有VBA。非常感謝你和@tompreston – VeeK

0

如果你希望它用VBA編寫,因爲上面提到的問題是可以放在工作表模塊中的代碼。

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim cellChanged As Range, c As Range 

Const myVal As String = "kg" 

Set cellChanged = Intersect(Target, Columns("B")) 

    If Not cellChanged Is Nothing Then 
     For Each c In cellChanged 
      If UCase(c.Value) = UCase(myVal) Then 
       c.Offset(, 1).Value = c.Offset(, -1).Value/1000 
      else 
       c.Offset(, 1).Value = vbnullstring 
      End if 
     Next 
     End if 
End Sub 

如何幫助我們度過美好的一天!

+0

感謝您的回答,但正如其他人已經注意到一個簡單的公式比VBA腳本好得多。 – VeeK

相關問題