• ベストアンサー

エクセル VBA

エクセル VBA セルA1に ”□はい □いいえ”とあり それをダブルクリックすると ?フォームが表示されチェックしますか?と聞きOKなら ■ はい となり   次に続けて ?フォームが表示されチェックしますか?と聞きOKなら ■いいえ となるような マクロの記述は出来るのでしょうか? すいません! 教えてください。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.5

>これを応用にして 例えば >□尿検査 □血液検査としたいのです! >これだと >2つとも■尿検査 ■血液検査 >にしたいときに出来ないので教えてください メッセージボックスは出ないです。 A1セルをダブルクリックする毎に 「□尿検査 □血液検査」⇒「■尿検査 □血液検査」⇒ 「□尿検査 ■血液検査」⇒「■尿検査 ■血液検査」⇒「□尿検査 □血液検査」 と切り替わります。参考に >これを応用にして・・・教えてください 応用するのは貴方です。がんばって応用してください。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Dim v As Variant, myR As Variant   With Target     If .Address <> "$A$1" Then Exit Sub     v = Array("□尿検査 □血液検査", "■尿検査 □血液検査", _     "□尿検査 ■血液検査", "■尿検査 ■血液検査")     myR = Application.Match(.Value, v, 0)     If IsError(myR) Then myR = 0     .Value = v(myR Mod 4)   End With   Cancel = True End Sub

pop2003
質問者

お礼

すいません 何度も回答いただき 感謝しています。 頑張って勉強していきます。

その他の回答 (4)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

>次に続けて >?フォームが表示されチェックしますか?と聞きOKなら >■いいえ となるような ん?! 私の回答は "次に続けて" 続けて表示されるようにはなっていないです。 間違った回答をしましたので捨ててください。

pop2003
質問者

お礼

ありがとうございます 上手くいきました。 ただ □はい⇒■はい 次に □いいえ⇒■いいえ にするには どうすれば いいですか? これを応用にして 例えば □尿検査 □血液検査 としたいのです! これだと 2つとも■尿検査 ■血液検査 にしたいときに 出来ないので 教えてください

pop2003
質問者

補足

早速のお返事ありがとうございました 私も質問内容が 間違っていました Fromではなく メッセージ表示でした!! モジュールを作成して 貼り付ければ良いのですか?

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

シートモジュールに貼り付けてお試しを Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   With Target     If .Address <> "$A$1" Then Exit Sub     If MsgBox("チェックしますか?", vbYesNo + vbQuestion, "問合せ") = vbYes Then       .Value = "■はい □いいえ"     Else       .Value = "□はい ■いいえ"     End If   End With   Cancel = True End Sub

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

「フォーム」という文字の前が文字化けしているようですね。 やりたいことも、この文章ではよく解りません。 もっと解りやすい質問をお願いします。

pop2003
質問者

補足

すいませんでした。! A1セルに □はい □いいえ があり そこを ダブルクリックすると メッセージボックスが表示され ”はいをチェックしますか?”とOKとクリックしたら 次のメッセージボックスが表示され ”いいえをチェックしますか?”とNOをクリックしたら A1セルには ■はい □いいえ というように表示させたいです。 としたいです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'セルをダブルクリックすると、・→○→△→×→・と変更する。 Dim S1 As String Dim S2 As String Dim S01 As String Dim S02 As String Dim S03 As String Dim S04 As String S1 = "□" S2 = "■" S01 = "・" S02 = "○" S03 = "△" S04 = "×" On Error GoTo ERR_12 sCheckXY S1, S2 sCheckX1234 S01, S02, S03, S04 sChangeXY S1, S2 Exit Sub ERR_12: End End Sub

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

どのようなことを行うためにマクロが必要なのでしょう。具体的にその結果がどう使われるのか教えてくれませんか?。マクロである必要性がよくわかりません。

pop2003
質問者

補足

すいませんでした。! 1回1回 □のマークを■にするのには マクロしかないかと思い質問しました。 A1セルに □はい □いいえ があり そこを ダブルクリックすると メッセージボックスが表示され ”はいをチェックしますか?”とOKとクリックしたら 次のメッセージボックスが表示され ”いいえをチェックしますか?”とNOをクリックしたら A1セルには ■はい □いいえ というように表示させたいです。 としたいです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'セルをダブルクリックすると、・→○→△→×→・と変更する。 Dim S1 As String Dim S2 As String Dim S01 As String Dim S02 As String Dim S03 As String Dim S04 As String S1 = "□" S2 = "■" S01 = "・" S02 = "○" S03 = "△" S04 = "×" On Error GoTo ERR_12 sCheckXY S1, S2 sCheckX1234 S01, S02, S03, S04 sChangeXY S1, S2 Exit Sub ERR_12: End End Sub

関連するQ&A

専門家に質問してみよう