=2ThenAplicatio"/> =2ThenAplicatio">
Heim > Artikel > Computer-Tutorials > Rufen Sie den von InputBox zurückgegebenen Wert in VBA ab
Private Sub iCheckGs()
'--------Passwort bestätigen
Dimmen Sie iPsw$, i&, tmp
iPsw = " " '"300029"
Tu
tmp = InputBox( _
"Warme Erinnerung vom System:" & Chr(10) & Chr(10) & _
"„Nicht-professionelle Benutzer klicken zum Beenden bitte auf {Abbrechen}!“ & Chr(10) & Chr(10) & _
"Bitte geben Sie Ihr Passwort ein (Sie haben " & 3 - i & " Chancen!)")
Wenn Len(tmp) = 0, dann Sub beenden
Wenn CStr(tmp) = iPsw, dann Exit Do
Wenn i >= 2, dann
Application.DisplayAlerts = False
ThisWorkbook.Close False
Application.DisplayAlerts = True
Ende wenn
i = i + 1
Schleife
'Das Folgende ist der Code, nachdem das Passwort übergeben wurde
……
……
Unterschaltfläche 1_Click()
Dim-Umfang auf das Doppelte, Fläche auf das Doppelte, Radius auf das Doppelte
Umfang = 0
Fläche = 0
Radius = 15#
Rufen Sie SubN (Umfang, Fläche, Radius) an
MsgBox-Umfang & " " & Fläche
End Sub
Sub SubN(ByRef-Umfangsparameter, ByRef-Flächenparameter, ByVal-Radiusparameter)
Wenn Radiusparameter
Perimeter-Parameter = 0
Area-Parameter = 0
Sonst
Perimeterparameter = 2 * 3,14 * Radiusparameter
Flächenparameter = 3,14 * Radiusparameter * Radiusparameter
Ende wenn
End Sub Der obige Code wurde in Excels VBA debuggt und kann die Anforderungen erfüllen.
Zuallererst sind Ihr ingN und ingSN ganze Zahlen. Wenn die Zelle eine Dezimalzahl ist, liegt möglicherweise ein Problem vor.
Auch
Für jedes rng2 in rng1.Cells
Wenn rng2.Value "" Dann
rng2.Select
ingTC = Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Ende wenn
Nächster RNG2
Das Ergebnis ingTC muss 0 sein
Schleife bis zum Ende, wo rng2.Value die unterste Zelle des Bereichs ist
Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Die beiden Zeilen unterhalb des Bereichs müssen leer sein!
Für jedes rng3 in rng0.Cells
Wenn rng3.Value = "" Dann
shtV.Select
rng3.Wählen
ingN = Val(ActiveCell.Offset(-1, 0).Value)
Ende wenn
Nächster RNG3
Es hängt von der Situation von rng0.Cells ab
Es sind alles Daten, es geht überhaupt nicht in IF ein,
Wenn es mehr als 2 aufeinanderfolgende leere Zellen gibt, muss ingN 0 sein.
Den von Ihnen hochgeladenen Daten zufolge muss der Vorgang 0 sein
Ich verstehe nicht, was Sie tun möchten, daher weiß ich nicht, wie ich es ändern kann.
Auch
Wenn rng2.Value "" Dann
rng2.Select
ingTC = Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Ende wenn
Geschrieben als
Wenn rng2.Value "" Dann
ingTC = Val(rng2.Offset(1, 0).Value + rng2.Offset(2, 0).Value)
Ende wenn
Die Effizienz wird viel höher sein
Das obige ist der detaillierte Inhalt vonRufen Sie den von InputBox zurückgegebenen Wert in VBA ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!