[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『キャンセルを押すと処理終了』(とも)
Dim DAI As String Dim MyAry(1 To 256)
For Each c In Range("A1:IV1") i = i + 1 MyAry(i) = Replace(c.Address(0, 0), 1, "") Next c エラー: DAI = StrConv(InputBox("英字で指定してください" & Chr(13) _ & Chr(13) & "例)A,B,C,a,b,c", "セルの選択"), vbNarrow) MyFlg = Application.Match(DAI, MyAry(), 0) If IsNumeric(MyFlg) Then MsgBox (DAI & " が入力されました" & Chr(13) & Chr(13) & "処理が終了するまで、しばらくお待ちください。" & Chr(13)) Range(DAI & 3).Select Else MsgBox "入力が違います。" GoTo エラー End If
続けて投稿すみません。 このプログラムでInputBoxのキャンセルボタンを押しても ループしてしまうのですが、キャンセルボタンを押して 処理を終了させるにはどのようにしたらよろしいですか?(end subに飛ぶなど) 未熟な質問ですみませんが、宜しくお願い致します。
> DAI = StrConv(InputBox("英字で指定してください" & Chr(13) _ > & Chr(13) & "例)A,B,C,a,b,c", "セルの選択"), vbNarrow) を下のコードに変更してみてください。
DAI = InputBox("英字で指定してください" & Chr(13) _ & Chr(13) & "例)A,B,C,a,b,c", "セルの選択") If StrPtr(DAI) = 0 Then MsgBox "Cancelされました。" Exit Sub End If DAI = StrConv(DAI, vbNarrow)
(やっちん)
衝突〜☆ だけどこのままUP
よくわかりませんが、レスが無いようなので、、、
DAI = StrConv(InputBox("英字で指定してください" & Chr(13) _ & Chr(13) & "例)A,B,C,a,b,c", "セルの選択"), vbNarrow) If DAI = "" Then: MsgBox "終了します": Exit Sub
これでもよろしいでしょうか?
(キリキ)(〃⌒o⌒)b
やっちん様、キリキ様ありがとうございます。 キリキ様のコードの方が簡単だったのでためしてみます。 本当にありがとうございました。(とも)
未入力でOKを押したときに終了してもかまわないのであればいいんですが。 (やっちん)
そうなんですよね(^o^; σ(^o^;)は、わからないときは、「エイ、ヤー」でやっちゃうところがあるので、、、 反省、反省。 やっちんさんのご指摘に感謝〜♪ (キリキ)(〃⌒o⌒)b
私が参考にしたものです。 http://excelfactory.net/excelboard/excelvba/cfs.cgi?word=57073&andor=and&logs=20.txt (やっちん)
StrPtr関数はヘルプないですね。ちょっと迷った。 [やっちん]さんのコードお借りして。 Dim DAI As Variant として、 Do DAI = InputBox("英字で指定してください" & Chr(13) _ & Chr(13) & "例)A,B,C,a,b,c", "セルの選択", "default") If DAI = vbNullString Then MsgBox "Cancelされました。" Exit Sub End If Loop While DAI = "default" こういうループではいかが。 (みやほりん)(-_∂)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.