- ベストアンサー
条件Aと条件Bについての問題解決方法
- 条件Aと条件Bについて質問があります。顧客データを並べ替えるマクロを実行する際に、10行目以降のセルがアクティブでない場合に「顧客情報、データ内のどこかをクリックして下さい」というメッセージボックスを表示したいと考えています。以前に頂いたアドバイスでは、9行目以上のセルがクリックされたときに必ずメッセージボックスが表示されてしまうため、より詳細な条件分岐方法について教えていただきたいです。
- 顧客データの並べ替えマクロを実行する際に、10行目以降のセルがアクティブでない場合にメッセージボックスを表示したいです。以前のアドバイスでは、9行目以上のセルがクリックされたときに無条件でメッセージボックスが表示されてしまうという問題がありました。より詳細な条件分岐方法を教えてください。
- 条件Aと条件Bについての問題解決方法についてアドバイスをお願いします。顧客データの並べ替えマクロを実行する際に、10行目以降のセルがアクティブでなければ「顧客情報、データ内のどこかをクリックして下さい」というメッセージボックスが表示されるようにしたいです。9行目以上のセルがクリックされた場合にのみメッセージボックスが表示されるような条件分岐方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
何をやってるのか理解してください。応用以前の問題です。 sub すでに出来上がったマクロ() if activecell.row < 10 then msgbox "エリア内を選択すること" exit sub end if ’ if その他の並べ替え実行条件が成立していなければ ’ msgbox "実行条件が成立していない" ’ exit sub ’ end if msgbox "並べ替え GO" end sub
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
ご相談は >そこで、次のような分岐を作成したいのです。 という事ですが、お話の流れからいうと private sub worksheet_change(byval Target as excel.range) if 並べ替え実行条件成立していなければ ’スルー exit sub end if if activecell.row < 10 then msgbox "エリア内を選択すること" exit sub end if msgbox "並べ替え GO" end sub という具合ではありませんか?
お礼
ご回答、どうもありがとうございました!
- keithin
- ベストアンサー率66% (5278/7941)
単に趣味の問題ですが、ワタシ的には Private Sub Worksheet_SelectionChange(ByVal Target As Range) If activecell.Row < 10 Then MsgBox "顧客情報、データ内のどこかをクリックして下さい", vbCritical exit sub End If msgbox "並べ替え GO" End Sub とします。 フローで言えば Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 10 Then MsgBox "顧客情報、データ内のどこかをクリックして下さい", vbCritical else msgbox "並べ替え GO" End If End Sub でいいです。
お礼
ご回答、どうもありがとうございました!
補足
早速のご回答をありがとうございます。 それで…すみません、一つ説明不足でした。 以前、同様なシートモジュールを教えていただいたのですが、 それを「すでに出来上がったマクロ」の上にはりつけたところ、駄目でした。 「並べ替え」のマクロボタンを押してからの分岐にしたいので、 できれば、シートモジュールではなく、 すでに出来上がっている「並べ替えマクロ」の上部に 挿入する形のものを教えていただければありがたいです…。 どうぞ、よろしくお願いいたします!
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! >並べ替えマクロはできていますが・・・ というコトなので、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 10 Then MsgBox "顧客情報、データ内のどこかをクリックして下さい", vbCritical Exit Sub Else '並び替えのマクロ End If End Sub といった感じではどうでしょうか?m(_ _)m
お礼
どうも、ありがとうございました。 お陰様で、解決いたしました!
補足
早速のご回答をありがとうございます。 それで…すみません、一つ説明不足でした。 以前、同様なシートモジュールを教えていただいたのですが、 それを「すでに出来上がったマクロ」の上にはりつけたところ、駄目でした。 「並べ替え」のマクロボタンを押してからの分岐にしたいので、 できれば、シートモジュールではなく、 すでに出来上がっている「並べ替えマクロ」の上部に 挿入する形のものを教えていただければありがたいです…。 どうぞ、よろしくお願いいたします!
お礼
すみません。初心者なもので・・・。 お陰様で、しかし、解決しました。 ご回答、どうもありがとうございました!