advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 14728 for VBA ������������ (0.003 sec.)
[[20100119141829]]
#score: 3408
@digest: bb96928ad422dbf4e7f7f1bacc65339f
@id: 47283
@mdate: 2012-01-16T14:08:51Z
@size: 9592
@type: text/plain
#keywords: myvalue (62167), 用パ (60585), 者用 (40441), 放_ (35279), 」", (25552), 理者 (25365), vbcritical (22723), スワ (19632), ←★ (12466), 者よ (11922), た管 (10332), パス (8279), ド入 (8175), inputbox (7730), 開放 (7075), り") (6889), 管理 (5355), 「パ (5263), ワー (5236), り先 (4911), beginner (4456), 先、 (4424), 、管 (4021), 。", (3956), 制的 (3913), 〜〜 (3540), ンセ (3171), 近所 (3129), msgbox (2856), 所pg (2757), キャ (2653), elseif (2433)
『マクロでパスワードで空白で。』(あへあへ)
WindowsXP Excel2002 こんにちわ。あへあへでございます。 今日も質問があります。 ご指導よろしくお願いします。 パスワードを設定しないと開かなかったり 動かなかったりしたいなとこちらで検索をかけてみたら。 [[20050210131459]] 『マクロ実行権限??※パスワード』(なぞなぞくん) で Private Sub 開放_Click() Dim MyValue As String MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") If MyValue = "" Or MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If 〜〜〜〜〜〜〜〜〜〜 ←ここに動かしたいマクロとか入れる ←★ End Sub というのを知り使わせていただきました。 が、ふと思ったことがあります。 空白のまま(パスワードを入れないまま)OKを押しても 「入力された管理者用パスワードが間違っています。」 と表示させるのってなんかかっこ悪いというか…。 そこで質問です。 空白だった場合に 「パスワード入れてください」 と入力を強制的にさせるか 「パスワードが入っていません」 で強制的に終わらせる(言い方が変ですがとにかく”★”をさせない) VBAの書き方をご指導お願いしたいです。 よろしくお願いします。 ---- Private Sub 開放_Click() Dim MyValue As String MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") If MyValue = "" Then MsgBox "「パスワード入れてくださいまし。」", vbCritical Exit Sub ElseIf MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If 〜〜〜〜〜〜〜〜〜〜 ←ここに動かしたいマクロとか入れる ←★ End Sub でどうでしょうか? (てつろう) ---- (てつろう)さん、ありがとうございます。 てつろうさんの教えていただいたVBA早速使ってみました! これはつまり空白だったら「強制的に終わらせる」ってヴァージョンですね。 これはとても大切なデータ部分に使っていこうと思います。 ところでもう一つの もし空白だったら 「パスワード入れてください」 と言われてから最初の『これより先、管理者用パスワードが必要です。』へ 強制的に戻すVBAを知りたいのですが解りますか? (あへあへ) ---- ラベルとGoToを使えば出来ますけど。 他の方法のほうが良いかも? Sub 開放_Click() Dim MyValue top: MyValue = Application.InputBox("これより先、管理者用パスワードが必要です。", "管理者より", , , , , , 2) If MyValue = False Then Exit Sub If MyValue = "" Then MsgBox "「パスワードをちゃんと入れてくださいまし。」", vbCritical GoTo top ElseIf MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If MsgBox "ここに動かしたいマクロとか入れる ", vbCritical End Sub InputBoxをApplication.InputBoxに変えました。 理由:InputBoxだとキャンセルと空白の判別がつかないので (てつろう) ---- GoToは出来るだけ避けたいですね。 今回の場合はDo〜Loopで良いかなと思います。 ついでに単一の値の内容を色々聞いている形なので、Select Case文にしてみました。 Sub test() Dim MyValue Do MyValue = Application.InputBox("これより先、管理者用パスワードが必要です。", "管理者より", , , , , , 2) Select Case MyValue Case False 'キャンセル時 Exit Sub Case "" '空欄の時 MsgBox "「パスワードをちゃんと入れてくださいまし。」", vbCritical Case "1234" '一致した時 Exit Do Case Else '上記以外 MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End Select Loop MsgBox "ようこそ本プログラムへ。今回も貴方を全力でサポートいたします。", vbInformation End Sub (ご近所PG) ---- Do〜LoopにSelect〜Case文、さすがご近所PG様 MsgBox "ようこそ本プログラムへ。今回も貴方を全力でサポートいたします。", vbInformation ここなんかもう最強ですね。恐れ入りました。 (てつろう) ---- (てつろう)さん 私のわがままを聞いてくださってありがとうございます。 またもや新たなインプット方法が紹介されました。うん、奥深いですねVBA。 そして、思ったように動いてくれました。 なんだかGOTOという単語を見てると、N88ベーシックを思い出します。 って全然私はプログラムなんて打てないんですけどね(苦笑) なんか動きが豪華になった気がしました! 本当に素敵なVBAを教えていただきありがとうございました! (ご近所PG)さん またもや私の知らないVBAの文章が…^^; いったいどこまでVBAは広がっていくんでしょうか? 恐るべしVBA!そしてそれを難なく操るご近所PGさんにも脱帽です。 そして今回のVBAは、てつろんさんとのVBAの比較 (良い悪いじゃなくてVBAの中身の書き方の勉強するための比較)もでき、 とても興味深いし、大変助けられました。 本当にありがとうごじあました。 (あへあへ) ---- 実務で使用されるのでしたら、VBAコードにパスワードかける事も 検討されるといいかもですね。 (ぞう) ---- >InputBoxをApplication.InputBoxに変えました。 >理由:InputBoxだとキャンセルと空白の判別がつかないので ちょっと気になったので・・・。Excel/VBAでは、Application.Inputboxの方が便利なことは 確かですが、Inputbox関数だってキャンセルと空白の判別は付きます。 Sub inputbox関数のCancelが押されたときの対処方法() dim ans as variant ans = InputBox("input data") If StrPtr(ans) = 0 Then MsgBox "Cancel" Else MsgBox "入力された文字は" & ans End If End Sub 参考までに・・・。 ichinose ---- (ぞう)さん おはようございます。お返事が遅くなってしまってごめんなさい。 確かにVBA自体にもパスワードをかけないとだめですよね^^; とりあえずまだ全体に公開はしていないので、近いうちにきちんと盛り込んで行こうと思います。 ご指導ありがとうございました。 ichinoseさん おはようございます。お返事が遅くなってしまってごめんなさい。 な、な、なんとこんなVBAコードの書き方があったんですね?! やはり本当にVBAは宇宙だと思いました。 そして書いていただいたVBAは大切に参考にしていきます。ありがとうございました。 (あへあへ) ---- ichinoseさん 教えてもらった下記の文法(@)をAへ入れて使うにはどうすれば良いのでしょうか? @**************** Sub inputbox関数のCancelが押されたときの対処方法() dim ans as variant ans = InputBox("input data") If StrPtr(ans) = 0 Then MsgBox "Cancel" Else MsgBox "入力された文字は" & ans End If End Sub ********************** A*********************** Private Sub 開放_Click() Dim MyValue As String MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") If MyValue = "" Then MsgBox "「パスワード入れてくださいまし。」", vbCritical Exit Sub ElseIf MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If 〜〜〜〜〜〜〜〜〜〜 ←ここに動かしたいマクロとか入れる ←★ End Sub *************************** ---- Sub test例() Dim MyValue As String, cont(1) As Long Do MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") If StrPtr(MyValue) = 0 Then MsgBox "キャンセルを押したので終了します。", vbCritical Exit Sub ElseIf MyValue = "" Then If cont(0) = 4 Then MsgBox "「パスワード入れてくれないので 終了します。!!」", vbCritical Exit Sub End If MsgBox "「パスワード入れてくださいまし。」", vbExclamation cont(0) = cont(0) + 1 ElseIf MyValue = "1234" Then Exit Do Else If cont(1) = 2 Then MsgBox "「3回も違ってますので 終了します。!!」", vbCritical Exit Sub End If MsgBox "「入力された管理者用パスワードが間違っています。」", vbExclamation cont(1) = cont(1) + 1 End If Loop MsgBox "処理" End Sub (beginner) ---- (beginner)様 Do〜Loop構文を使用しないとできないのでしょうか? できましたら、下記の分に追加、修正していただけますとありがたいです。 *********************** Private Sub 開放_Click() Dim MyValue As String MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") If MyValue = "" Then MsgBox "「パスワード入れてくださいまし。」", vbCritical Exit Sub ElseIf MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If 〜〜〜〜〜〜〜〜〜〜 ←ここに動かしたいマクロとか入れる ←★ End Sub ************************* -------------------------------------------------------------------------------- ---- Dim MyValue As String MyValue = InputBox("これより先、管理者用パスワードが必要です。", "管理者より") if strptr(MyValue) = 0 Then MsgBox "キャンセルを押したので終了します。", vbCritical Exit Sub elseIf MyValue = "" Then MsgBox "「パスワード入れてくださいまし。」", vbCritical Exit Sub ElseIf MyValue <> "1234" Then MsgBox "「入力された管理者用パスワードが間違っています。」", vbCritical Exit Sub End If 〜〜〜〜〜〜〜〜〜〜 ←ここに動かしたいマクロとか入れる ←★ End Sub Do〜Loopを入れたのは、例としてキャンセル以外で繰り返してみただけですよ^ プログラムを1行ごとに実行する http://www.zd.em-net.ne.jp/‾k-create/contents_vba/vba1_31.html 上記のサイトの説明に有るように1行ごとにF8でどのような動きになる等、いろいろと調べると、良いと思います。私は入門レベルで、アドバイスが出来ませんけど(beginner) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201001/20100119141829.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97025 documents and 608162 words.

訪問者:カウンタValid HTML 4.01 Transitional