我是VBA的新手,所以遇到了一個問題,試圖將某個字符串編號轉換爲IF驗證的值編號。EXCEL VBA - 與excel公式類似的函數值
問題是。我充滿了這樣的事情列 「A」:
E/B:房屋01
E/B:房屋02
E/B:建築/新別墅
E/B:建築/貝拉卡薩
E/B:房屋03
所以,在我的代碼,我想這與過去的2號填「B」柱,如果有號碼或姓名,如果有ISN 「T。
Set Rng = Range("A8:A" & Range("I" & Rows.Count).End(xlUp).Row)
For Each celula In Rng.SpecialCells(xlCellTypeVisible)
Select Case True
Case IsNumeric(Right(celula, 2)) = True
celula.Offset(0, 1).Value = Right((celula), 3)
Case Else
celula.Offset(0, 1).Value = Mid(celula, InStr(4, celula, "/") + 1, Len(celula))
End Select
Next celula
但是案例是數字(右(celula,2))=真從不是真的。它不捕獲最後2個數字。但它的名稱和返回「新別墅」和「貝拉卡薩」的作品沒問題。我認爲問題在於Right(celula,2)從來不是一個數字,即使是一個數字。
我想知道是否有一種方法可以在值中轉換「Right(celula,2)」,就像在Excel中的= Value公式一樣,以進行驗證。 OBS:在嘗試這種方式之前,我已經將excel公式應用於這些單元格,並且它能夠工作,但是我想嘗試這種方式來進行學習。
感謝
只需將您的代碼和示例數據複製並粘貼到新的Excel工作表中即可使用。你確定數字後沒有空格? 'Debug.Print「<」+ Right(celula,2)+「>」'確保(它應該打印'<01>','<02>'等)。 – ssarabando 2014-10-01 13:33:36
看起來不錯。用它來測試它。可能是你沒有選擇正確的範圍。 For Each celula In Selection Select Case True .... – causita 2014-10-01 13:35:14
我在自動過濾器後設置了rgn,這是問題所在。謝謝 – MVAmorim 2014-10-01 14:32:21