【VBA】複数のセルを選択することを禁止する方法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

業務効率化を目指す皆さん、Excelを使っているときに、複数のセルを選択されて、ペーストなどをされると困る時ってありますようね?対処方法をご紹介します。

この記事のまとめ

VBAを使って複数のセルを選択することを禁止する

Excelのシートで、セルの値が変わったらプログラムを実行するけど、複数のセルに同時に貼り付けられると、うまく動ないんだよね💦

稲垣

VBAでは、複数のセルを選択することを禁止することができるよ

本記事の内容を使って、VBAで業務効率化をぜひ実践してくださいね!

目次

複数のセルを選択することを禁止する方法

はい、それでは、早速やっていきましょう!

コード

稲垣

まずは、コードを紹介するね!

ThisWorkBookに以下のコードを貼り付けてください。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    
    ' 複数セルの選択を禁止し、最初のセルのみを選択
    If Target.count > 1 Then
        Application.EnableEvents = False
        Target.Cells(1, 1).Select ' 最初のセルのみを選択
     MsgBox "複数のセルは選択できません。"
        Application.EnableEvents = True
    End If
    
End Sub

ThisWorkBookにコードを書くということは、ブック全体に適用することができるのかな?

稲垣

その通り!
シートに適用したい場合は、適用したいシートに下記のコードを貼りつけてくださいね。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    ' 複数セルの選択を禁止し、最初のセルのみを選択
    If Target.count > 1 Then
        Application.EnableEvents = False
        Target.Cells(1, 1).Select ' 最初のセルのみを選択
        MsgBox "複数のセルは選択できません。"
        Application.EnableEvents = True
    End If
End Sub

複数のセルを選択してみる

稲垣

複数のセルを選択しようとすると、初めのセルだけ選択状態になり、メッセージが表示されるよ。

これだと、複数のセルの選択自体が出来ないから、色んな制御ができそうですね!

まとめ

ExcelのVBAでシートを使って入力画面を作成するときには、よく使うテクニックです。ぜひ活用してくださいね!開発や、VBAのサポートなどがあれば、ぜひお問い合わせください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次