2016-04-08 10 views
0

Sehr Neuling Frage, aber ich kann es einfach nicht funktionieren. Nach Auswahl der Zelle ("A501") möchte ich den Benutzer auffordern, eine Nummer einzugeben. Ich möchte dann diese Benutzereingabenummer in die Zelle eingeben ("Y501"). Nachdem diese Nummer angegeben wurde, möchte ich ein zweites Eingabefeld ("Cubic eingeben:") erscheinen, dessen Wert automatisch in die Zelle ("Z501") gesetzt würde. Dies ist der Code, den ich auf meinem Blatt2 habe, was zur Zeit nicht der Fall ist ‚t arbeitenWie man ein zweites Eingabefeld öffnet, das von einem anderen Eingabefeld gefolgt wird. 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

nicht möglich mit' inputbox', 'userform' wäre die Antwort – Rosetta

+0

Ich habe meine Antwort aktualisiert und überprüft, um sicherzustellen, dass es funktioniert, wie Sie es brauchen zu und es scheint, dass es den Job macht. – CaffeinatedCoder

Antwort

0

Versuchen Sie, die Carton InputBox auf Zahlen beschränken nur (siehe msdn documentation für die Liste der Beschränkungscodes), dann Carton überprüfen statt 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