2016-04-08 7 views
0

Очень новичок вопрос, но я просто не могу заставить его работать. После выбора ячейки («A501») я хочу предложить пользователю ввести номер. Затем я хочу ввести этот номер ввода пользователя в ячейку («Y501»). После того, как это число было предоставлено, я хочу, чтобы появилось второе окно ввода («Enter Cubic:»), значение которого будет автоматически помещено в ячейку («Z501»). Это код, который у меня есть на моем листе2, который в настоящее время не работает «т работатьКак открыть второе поле ввода, за которым следует другое поле ввода Excel VBA

Private Sub CommandButton1_Click() 
    Call RunallMacros 
End Sub 

Option Explicit 

Sub Worksheet_SelectionChange(ByVal target As Range) 

    Dim C As Range 

    For Each C In Sheets("Sheet2").Range("Z501") 
     If Selection.Count = 1 Then 
      If Not Intersect(target, Range("a501")) Is Nothing Then 
       Carton = InputBox("Enter Carton Quantity") 
       Range("Y501").value = Carton 
       If C.value > 0 Then 
        Cubic = InputBox("Enter Cubic") 
        Range("Z501").value = Cubic 
       End If 
      End If 
     End If 
    Next 
End Sub 
+1

не представляется возможным с помощью' inputbox', 'userform' был бы ответом – Rosetta

+0

Я обновил и проверил свой ответ, чтобы убедиться, что он работает так, как вам это нужно и кажется, что он выполняет эту работу. – CaffeinatedCoder

ответ

0

Попробуйте ограничения Carton InputBox к номерам только (см msdn documentation для списка кодов ограничений), а затем проверить Carton вместо C.Value

Dim Carton As Integer 
Carton = Application.InputBox("Enter Carton Quantity", Type:=1) 
Range("Y501").Value = Carton 
If Carton > 0 Then 
    Dim Cubic As Integer 
    Cubic = Application.InputBox("Enter Cubic", Type:=1) 
    Range("Z501").Value = Cubic 
End If