=2ThenAplicatio"/> =2ThenAplicatio">

Heim  >  Artikel  >  Computer-Tutorials  >  Rufen Sie den von InputBox zurückgegebenen Wert in VBA ab

Rufen Sie den von InputBox zurückgegebenen Wert in VBA ab

PHPz
PHPznach vorne
2024-01-22 20:45:05657Durchsuche

Rufen Sie den von InputBox zurückgegebenen Wert in VBA ab

Inputbox-Rückgabewert in VBA

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

……

……

So geben Sie mehrere Werte in einer benutzerdefinierten Funktion in VB zurück

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.

VBA-Rückgabewert

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen