Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7550 / 13645 ツリー ←次へ | 前へ→

【38340】メッセージボックスの分岐について yukari 06/5/31(水) 15:30 質問[未読]
【38342】Re:メッセージボックスの分岐について Kein 06/5/31(水) 15:39 発言[未読]
【38343】Re:メッセージボックスの分岐について yukari 06/5/31(水) 15:43 質問[未読]
【38346】追加です。 yukari 06/5/31(水) 15:53 質問[未読]
【38347】Re:追加です。 Blue 06/5/31(水) 15:56 回答[未読]
【38348】Re:追加です。 yukari 06/5/31(水) 16:00 お礼[未読]
【38350】Re:追加です。 Kein 06/5/31(水) 16:11 回答[未読]
【38356】Re:追加です。 yukari 06/5/31(水) 20:01 お礼[未読]

【38340】メッセージボックスの分岐について
質問  yukari  - 06/5/31(水) 15:30 -

引用なし
パスワード
   こんにちは。きのう、ぱっせんじゃーさんに教えていただいて
メッセージボックスを分岐することができました。
それを使用すると「はい」を選択するとデータ入力が行われます。
しかし、「いいえ」を選択してもデータが入力されてしまいます。
「いいえ」をクリックすると、入力画面に戻るようにしたいのですが
どうすればいいかわかりません。ヨロシクお願いします。

【38342】Re:メッセージボックスの分岐について
発言  Kein  - 06/5/31(水) 15:39 -

引用なし
パスワード
   現在はどんなコードになってますか ?

【38343】Re:メッセージボックスの分岐について
質問  yukari  - 06/5/31(水) 15:43 -

引用なし
パスワード
   ▼Kein さん:
すみません。それを書かないとわかりませんね。。。

Sub bunki()
  Select Case MsgBox("本当にいいですか?", vbYesNo)
  Case vbYes
   MsgBox "はいがクリックされました"
  Case vbNo
   MsgBox "いいえがクリックされました"
  End Select
End Sub

今はこうなっています。よろしくお願いします。

【38346】追加です。
質問  yukari  - 06/5/31(水) 15:53 -

引用なし
パスワード
   Sub bunki()
  Select Case MsgBox("本当にいいですか?", vbYesNo)
  Case vbYes
   MsgBox "はいがクリックされました"
  Case vbNo
   MsgBox "いいえがクリックされました"
  End Select
End Sub

Private Sub 登録_Click()

bunki

Range("a65536").End(xlUp).Offset(1).Select
Selection = テキスト名前
With Selection.Borders(xlEdgeLeft)      '外枠左罫線
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)     '外枠下罫線
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)      '外枠右罫線
LineStyle = xlContinuous
.Weight = xlThin
End With
Selection.Offset(, 1) = テキストふりがな
Range("a65536").End(xlUp).Offset(, 1).Select
With Selection.Borders(xlEdgeBottom)     '外枠下罫線
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)      '外枠右罫線
LineStyle = xlContinuous
.Weight = xlThin
End With
Selection.Offset(, 1) = テキスト番号
Range("a65536").End(xlUp).Offset(, 2).Select
With Selection.Borders(xlEdgeBottom)     '外枠下罫線
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)      '外枠右罫線
LineStyle = xlContinuous
.Weight = xlThin
End With

テキスト名前 = ""
テキストふりがな = ""
テキスト番号 = ""
テキスト名前.SetFocus

End Sub

【38347】Re:追加です。
回答  Blue  - 06/5/31(水) 15:56 -

引用なし
パスワード
   Private Sub 登録_Click()

bunki

★こっから入力するコード


とかいても、メッセージボックスの結果にかかわらず、入力されてしまいます。

Private Sub 登録_Click()

  Select Case MsgBox("本当にいいですか?", vbYesNo)
  Case vbYes
   MsgBox "はいがクリックされました"
  Case vbNo
   MsgBox "いいえがクリックされました"
   Exit Sub ' これ以降の処理はしない!
  End Select

Range("a65536").End(xlUp).Offset(1).Select
.
.
.

というようにしてみてください。
  

【38348】Re:追加です。
お礼  yukari  - 06/5/31(水) 16:00 -

引用なし
パスワード
   ▼Blue さん:
できました!
言葉が足らずになんども返信していただくことになって申し訳ありませんでした。
ありがとうございます!!

【38350】Re:追加です。
回答  Kein  - 06/5/31(水) 16:11 -

引用なし
パスワード
   Sub bunki() の内容は、ぱっせんじゃーさんが「MsgBox関数の使い方の例」として
書いてくれたコードそのものですよね ?
それをそっくりあなたのマクロに組み入れても、何の役にも立ちませんよ。
いきなり目的の動作が出来るコードを書くと、あなたの努力する余地がなくなる
と思って、そのような例文をUPされたということでしょう。

Private Sub 登録_Click()
 If MsgBox("本当にいいですか?", vbYesNo) = vbNo Then Exit Sub
 With Range("A65536").End(xlUp)
   .Offset(1).Value = テキスト名前.Value
   .Offset(1, 1).Value = テキストふりがな.Value
   .Offset(1, 2).Value = テキスト番号.Value
   .Offset(1).Resize(, 3) _
   .Borders.LineStyle = xlContinuous
 End With
 テキスト名前.Value = ""
 テキストふりがな.Value = ""
 テキスト番号.Value = ""
 テキスト名前.SetFocus
End Sub

こんな感じでやってみて下さい。

【38356】Re:追加です。
お礼  yukari  - 06/5/31(水) 20:01 -

引用なし
パスワード
   ▼Kein さん:
ありがとうございます。こんなに簡素化できるんですね。
自力でここまでできるようにがんばりたいと思います。
ご指摘、ご指導、ありがとうございました。

7550 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free