我有一組數據,其格式不同,例如B,KB,MB,GB和TB。我已經編寫代碼來刪除單位並轉換爲GB。我的問題是,最後一節'b到kb'會導致類型不匹配錯誤。我不明白爲什麼我已經將相同的代碼應用於每次轉換?提前致謝。VBA類型不匹配錯誤
這裏是我的代碼:
Sub RemoveUnits()
Dim r As Range
Dim x As Long
For Each r In ActiveSheet.UsedRange
w = r.Value
'GB
If InStr(w, "gb") > 0 Then
r = Left$(r, Len(r) - 2)
Debug.Print (r.Value)
'No conversion required
'TB
ElseIf InStr(w, "tb") > 0 Then
r = Left$(r, Len(r) - 2)
r = r * 1024
Debug.Print (r.Value)
'Convert tb to gb
'MB
ElseIf InStr(w, "mb") > 0 Then
r = Left$(r, Len(r) - 2)
r = (1/1024) * r
Debug.Print (r.Value)
'Convert mb to gb
'KB
ElseIf InStr(w, "kb") > 0 Then
r = Left$(r, Len(r) - 2)
r = (1/1048576) * r
Debug.Print (r.Value)
'B to KB
ElseIf InStr(w, "b") > 0 Then
r = Left$(r, Len(r) - 1)
r = (1/1024) * r
debung.Print (r.Value)
End If
Next r
End Sub
除了'debung.Print',我不確定,你的回答與我的不同:) – 2014-10-06 13:03:05
@SiddharthRout嗨Siddharth。我希望你不要以我自己寫的答案與你有相似之處。另外,我希望你的評論並不意味着我偷走了你的答案。 :-) – 2014-10-06 13:29:13
如果我本人將採取它,我已經downvoted;)不,我不是說你偷了答案。我之所以這樣說,是因爲我沒有看到發佈類似答案的理由...... – 2014-10-06 13:35:21