• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件A→MSGBOX 条件B→マクロ実行 )

条件Aと条件Bについての問題解決方法

このQ&Aのポイント
  • 条件Aと条件Bについて質問があります。顧客データを並べ替えるマクロを実行する際に、10行目以降のセルがアクティブでない場合に「顧客情報、データ内のどこかをクリックして下さい」というメッセージボックスを表示したいと考えています。以前に頂いたアドバイスでは、9行目以上のセルがクリックされたときに必ずメッセージボックスが表示されてしまうため、より詳細な条件分岐方法について教えていただきたいです。
  • 顧客データの並べ替えマクロを実行する際に、10行目以降のセルがアクティブでない場合にメッセージボックスを表示したいです。以前のアドバイスでは、9行目以上のセルがクリックされたときに無条件でメッセージボックスが表示されてしまうという問題がありました。より詳細な条件分岐方法を教えてください。
  • 条件Aと条件Bについての問題解決方法についてアドバイスをお願いします。顧客データの並べ替えマクロを実行する際に、10行目以降のセルがアクティブでなければ「顧客情報、データ内のどこかをクリックして下さい」というメッセージボックスが表示されるようにしたいです。9行目以上のセルがクリックされた場合にのみメッセージボックスが表示されるような条件分岐方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

何をやってるのか理解してください。応用以前の問題です。 sub すでに出来上がったマクロ()  if activecell.row < 10 then   msgbox "エリア内を選択すること"   exit sub  end if ’ if その他の並べ替え実行条件が成立していなければ ’  msgbox "実行条件が成立していない" ’  exit sub ’ end if  msgbox "並べ替え GO" end sub

penichi
質問者

お礼

 すみません。初心者なもので・・・。  お陰様で、しかし、解決しました。  ご回答、どうもありがとうございました! 

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

ご相談は >そこで、次のような分岐を作成したいのです。 という事ですが、お話の流れからいうと 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 という具合ではありませんか?

penichi
質問者

お礼

ご回答、どうもありがとうございました!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

単に趣味の問題ですが、ワタシ的には 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 でいいです。

penichi
質問者

お礼

ご回答、どうもありがとうございました!

penichi
質問者

補足

 早速のご回答をありがとうございます。  それで…すみません、一つ説明不足でした。    以前、同様なシートモジュールを教えていただいたのですが、  それを「すでに出来上がったマクロ」の上にはりつけたところ、駄目でした。    「並べ替え」のマクロボタンを押してからの分岐にしたいので、  できれば、シートモジュールではなく、    すでに出来上がっている「並べ替えマクロ」の上部に 挿入する形のものを教えていただければありがたいです…。    どうぞ、よろしくお願いいたします!    

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! >並べ替えマクロはできていますが・・・ というコトなので、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 10 Then MsgBox "顧客情報、データ内のどこかをクリックして下さい", vbCritical Exit Sub Else '並び替えのマクロ End If End Sub といった感じではどうでしょうか?m(_ _)m

penichi
質問者

お礼

 どうも、ありがとうございました。  お陰様で、解決いたしました!  

penichi
質問者

補足

 早速のご回答をありがとうございます。  それで…すみません、一つ説明不足でした。    以前、同様なシートモジュールを教えていただいたのですが、  それを「すでに出来上がったマクロ」の上にはりつけたところ、駄目でした。    「並べ替え」のマクロボタンを押してからの分岐にしたいので、  できれば、シートモジュールではなく、    すでに出来上がっている「並べ替えマクロ」の上部に 挿入する形のものを教えていただければありがたいです…。    どうぞ、よろしくお願いいたします!    

関連するQ&A

専門家に質問してみよう