2013-04-23 5 views
0

MY inputbox позволяет пользователю вводить значение в ячейку. Поэтому я хочу отфильтровать некоторые входные данные, такие как =SUM(A:A) и ', которые ничего не покажут, и другую формулу или, возможно, запись, которая повлияет на фактическое значение. Заранее спасибо.EXCEL VBA Фильтр вход пользователя

Private Sub testInputBox_Click() 
    Dim x As String 
    Dim y As String 
    Dim yDefault As String 
    Dim found As Range 

    x = InputBox("Enter Parts No.", "Edit Description") 

    If (x <> "") Then 
     If (WorksheetFunction.CountIf(Worksheets("Sheet1").Range("E2:E27"), x) > 0) Then 
      Set found = Worksheets("Sheet1").Range("E2:E27").Find(x, LookIn:=xlValues) 
      yDefault = found.Offset(0, 1).Text 
      y = InputBox("Amend Description", "Edit Description", yDefault) 
     Else 
      MsgBox ("Not found!") 
     End If 

     If (y <> "") Then 'Filter should be done here 
      If MsgBox("Proceed to edit?", vbYesNo, "Confirmation") = vbNo Then 
      Else 
       found.Offset(0, 1).Value = CStr(y) 
      End If 

     End If 
    End If 
End Sub 
+0

какой тип ввода вы используете? покажите нам, что простую часть вашего кода и как вы вводите данные позже в ячейку –

+0

Обновленный блок кода в моем вопросе –

ответ

1

Вы можете использовать разные попытки для фильтрации некоторых или всех требуемых значений. Имейте в виду, что вы y variable - это строковый тип. Поэтому здесь некоторые идеи с некоторыми комментариями:

'tests for starting characters 
If y <> "'" And y <> "=" Then 
    'test for formulas 
    If UCase(Left(y, 4)) <> "=SUM" Then 
     'test for any string within other string 
     If InStr(1, y, "sum", vbTextCompare) = 0 Then 
      '...here your code 
     End If 
    End If 
End If 

вы могли бы объединить их все в одно if...then заявление с помощью and или or операторов.

+0

Спасибо вашему ответу! Я думаю, что фильтра «=» будет достаточно, чтобы предотвратить ввод формулы ввода в ячейку. Но мне было интересно, почему «не будет показано, является ли это первым персонажем. –

Смежные вопросы