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

PHPz
Freigeben: 2024-01-22 20:45:05
nach vorne
661 Leute haben es durchsucht

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!

Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage