VBAでセルを選択したときにそのセルに文字を入力する

提出物のチェックをしたい時など、セルを選択したときに〇などの文字を自動で入力されるように、SelectionChangeのイベントプロシージャを使ったサンプルです。

下図のようにSheet1にA列に氏名、B列にチェック入力の表を作ります。

チェック表

 

Sheet1のシートモジュールにプロシージャを書きます。

シートモジュール

 

動作する条件は

1.選択されたセルがB列で、その行のA列が空白ではない

2.選択されたセルの値が空白の時は〇を入力し、〇が入力されている時は空白にする

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   '選択されたセルの値用の変数

   Dim str As String
   '選択されたセルの行数と列数の変数

   Dim row As Integer, col As Integer

 

   '選択されたセルの行数と列数を変数に代入

   row = Target.row

   col = Target.Column

 

   '選択されたセルの列がB列で、同じ行のA列が空白ではない場合に動作

   If col = 2 And Cells(row, 1).Value <> "" Then

       '選択されたセルの値を変数に代入

       str = Target.Value

 

       'str変数の値が何もない場合は〇を選択されたセルに入力し、〇の場合は空白にする

       If str = "" Then

           Target.Value = "○"

       ElseIf str = "○" Then

           Target.Value = ""

       End If

   End If

End Sub

 

これで、B列のセルがフォーカスされると〇が入ったり、空白になったりします。

 

< スポンサードリンク >



サブコンテンツ

このページの先頭へ