2012-08-01 85 views
1

我讀一個Excel文件,並在電池我有這樣的文字:如何用#NAME解決excel錯誤2029?

"=- Bla Bla Bla". 這會不會被承認,並會顯示#NAME?

所以如果你需要閱讀一些細胞,並讓它進入數據庫該文件中的該錯誤將顯示爲Error 2029。該腳本將凍結。 因此,如果我在單元格中獲得=-字符,我是否可以預先替換內容,以便在我閱讀它之前驗證內容並獲取錯誤。我可以忽略它嗎!

我需要的單元格驗證

Private Sub Worksheet_Change(ByVal Target As Range) 
    c = Target.Cells.Column 
    r = Target.Cells.Row 
    'validate cell 
End If 

謝謝!

+0

你是說,細胞就不能有任何'='或'-'?或者這兩個字符在單元格值的* start *處是不允許的? – Zairja 2012-08-01 14:52:19

+0

是的,但有些人會把它們放進去,節省無用/糟糕的信息!我需要一種不讓他們這樣做的方式! – Adrian 2012-08-02 12:11:58

+0

第一或第二個問題是「是」嗎?如果你一開始不想要角色,那麼試試我在答案中給出的第一個數據驗證公式。如果你不想要角色,那麼試試第二個。如果任何一個人幫助你,那麼即使你不接受它作爲你的答案,你也可以加註。 :) – Zairja 2012-08-02 12:43:54

回答

0

我得到它的工作

'verify cell for data 
Private Sub Worksheet_Change(ByVal Target As Range) 
    c = Target.Cells.Column 
    r = Target.Cells.Row 

    If IsError(Target.Worksheet.Cells(r, c)) Then 
     MsgBox "You have a validation Error!" 
     Target.Worksheet.Cells(r, c) = "" 
     End If 
End Sub 
0

這是你正在嘗試?

Sub Sample() 
    Dim sTemp As String 

    With Sheets("Sheet1") 
     '~~> Check if cell has error 
     If IsError(.Range("A1").Value) Then 
      '~~> Check if it is a 2029 error 
      If .Range("A1").Value = CVErr(2029) Then 
       '~~> Get the cell contents 
       sTemp = Trim(.Range("A1").Formula) 
       '~~> Remove =/- 
       Do While Left(sTemp, 1) = "=" Or Left(sTemp, 1) = "-" 
        sTemp = Trim(Mid(sTemp, 2)) 
       Loop 
       '~~> Either put it in back in the cell or do 
       '~~> what ever you want with sTemp 
       .Range("A1").Formula = sTemp 
      End If 
     End If 
    End With 
End Sub 
0

您還可以將數據驗證添加到您的工作表以防止以這種方式輸入內容。在「驗證標準」,允許「定製」,輸入此公式:如果在單元中輸入的值與開始

=NOT(OR(IF(EXACT(LEFT(TRIM(A1),1),"-"),1,0),IF(EXACT(LEFT(TRIM(A1),1),"="),1,0))) 

「 - 」或「=」(與前導空格),那麼就不會接受。如果輸入=123的人,那麼它將是有效的,因爲它被視爲一個公式,並且只會將其視爲123

如果你不想細胞包含=-在所有,那就試試這個爲你的數據驗證公式。同樣,它將無法捕捉像=NOW()=-hi(它會看到#NAME?-hi)的公式,但它會拒絕=-123,因爲它會看到-123。如果您將單元格格式設置爲文本,那麼它將拒絕內部爲=-的任何單元格,因爲以=開頭的值不會像公式一樣處理。

=NOT(OR(ISNUMBER(FIND("=",A18)),ISNUMBER(FIND("-",A18)))) 
+0

我需要細胞驗證問題! – Adrian 2012-08-02 12:14:55

+0

我已經更新了我的答案,以及幾種不同的方法,具體取決於您確切需要什麼。 – Zairja 2012-08-02 12:42:01