• 締切済み

値を変更後にセルがアクティブ状態に

セルをダブルクリックして値を変えるマクロを作ったのですが 値を変更後にセルがアクティブ状態になってしまいます。 エンターを押したり他のセルをクリックすれば通常通りになるのですが、 VBAでも通常通りに戻すにはどうすればいいでしょうか? Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim mystr As String mystr = Target.Value If mystr = "Yes" Then Target.Value = "No" ElseIf mystr = "No" Then Target.Value = "Yes" End If End Sub を実行すると、 セルをクリックしてF2を押した時のような状態になってしまいます。 コードの最後に Target.Cells.Select を入れてみましたが、変わりませんでした。 スクショを撮ってみたのですが、カーソル?棒?が映りませんでした。

みんなの回答

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

cancel = true を書いておきます。 しかし実際にはWクリックしたセルが「どうだったら所定の入力を終え」、どうならそのまま編集状態に移行するのか、よく考えてプログラムします。 作成例: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  Dim mystr As String  mystr = Target.Value  If mystr = "Yes" Then   Target.Value = "No"   cancel = true  ElseIf mystr = "No" Then   Target.Value = "Yes"   cancel = true  End If End Sub

関連するQ&A