=2ThenApplicatio"/> =2ThenApplicatio">
Rumah > Artikel > tutorial komputer > Dapatkan nilai yang dikembalikan oleh InputBox dalam VBA
Sub Peribadi iCheckGs()
'--------Sahkan kata laluan
Malapkan iPsw$, i&, tmp
iPsw = " " '"300029"
Lakukan
tmp = InputBox( _
"Peringatan hangat daripada sistem:" & Chr(10) & Chr(10) & _
""Pengguna bukan profesional sila klik {Batal} untuk keluar!" & Chr(10) & Chr(10) & _
"Sila masukkan kata laluan anda (anda mempunyai " & 3 - i & " peluang!)")
Jika Len(tmp) = 0 Kemudian Keluar Sub
Jika CStr(tmp) = iPsw Kemudian Keluar Buat
Jika saya >= 2 Maka
Application.DisplayAlerts = Palsu
Buku Kerja Ini.Tutup Salah
Application.DisplayAlerts = Benar
Tamat Jika
i = i + 1
Gelung
'Berikut ialah kod selepas kata laluan diluluskan
……
……
Sub Butang 1_Klik()
Malapkan Perimeter Sekedua, Luas Sekedua, Jejari Sekedua
Perimeter = 0
Luas = 0
Jejari = 15#
Panggil SubN(Perimeter, Luas, Jejari)
MsgBox Perimeter & " " & Luas
Tamat Sub
Sub SubN(parameter perimeter ByRef, parameter kawasan ByRef, parameter jejari ByVal)
Jika parameter jejari
Parameter perimeter = 0
Parameter kawasan = 0
Lain
Parameter perimeter = 2 * 3.14 * Parameter jejari
Parameter kawasan = 3.14 * Parameter jejari * Parameter jejari
Tamat Jika
End Sub Kod di atas dinyahpepijat dalam VBA Excel dan boleh memenuhi keperluan.
Pertama sekali, ingN dan ingSN anda ialah nombor integer Jika sel adalah perpuluhan, mungkin ada masalah.
Juga
Untuk Setiap rng2 Dalam rng1.Sel
Jika rng2.Nilai "" Kemudian
rng2.Pilih
ingTC = Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Tamat Jika
Seterusnya rng2
Hasil ingTC mestilah 0
Gelung ke hujung di mana rng2.Nilai ialah sel bawah kawasan
Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Dua garisan di bawah kawasan mesti kosong!
Untuk Setiap rng3 Dalam rng0.Sel
Jika rng3.Nilai = ""Maka
shtV.Pilih
rng3.Pilih
ingN = Val(ActiveCell.Offset(-1, 0).Nilai)
Tamat Jika
Seterusnya rng3
Ia bergantung kepada keadaan rng0.Sel
Ini semua data, ia tidak masuk JIKA sama sekali,
Jika terdapat lebih daripada 2 sel kosong berturut-turut, ingN mestilah 0.
Mengikut data yang anda muat naik, operasi mestilah 0
Saya tidak faham apa yang anda mahu lakukan, jadi saya tidak tahu cara mengubahnya.
Juga
Jika rng2.Nilai "" Kemudian
rng2.Pilih
ingTC = Val(ActiveCell.Offset(1, 0).Value + ActiveCell.Offset(2, 0).Value)
Tamat Jika
Ditulis sebagai
Jika rng2.Nilai "" Kemudian
ingTC = Val(rng2.Offset(1, 0).Nilai + rng2.Offset(2, 0).Value)
Tamat Jika
Kecekapan akan lebih tinggi
Atas ialah kandungan terperinci Dapatkan nilai yang dikembalikan oleh InputBox dalam VBA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!