まりふのひと

Excelで○をクリックのみでつけたい

  • Excelで○をクリックのみでつけたい (SourceNext@OKWave
    • 質問にあったマクロ
       まずは、そのアンケートのシートマクロに以下をペーストして動かしてみて下さい。b列以外で使用したいなら3行目のidxCOLの値を変更して下さい
      しかし、わたしは”列”ではなく”行”に○を入れたいのです。どうすればよいでしょうか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim idxcol As Long
    idxcol = 2 'b列なら2,a列から始まる列の順番
    With Target
        If .Column = idxcol And .Rows.Count = 1 Then
            If .Value = "" Then
                .Value = "○"
                .Font.ColorIndex = 5
            Else
                If .Value = "○" And .Font.ColorIndex = 5 Then
                    .Value = ""
                End If
                .Font.ColorIndex = 0
            End If
        End If
    End With
End Sub
    • 解答のマクロ
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim idxrow As Long

    idxrow = Range("A1") 'この A1の部分を適宜変更してください
    With Target
        If .Row = idxrow And .Columns.Count = 1 Then
            If .Value = "" Then
                .Value = "○"
                .Font.ColorIndex = 1
                With Selection 'ここからは文字位置を中央にするためです
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                End With '必要なければここまでを消してください。
            Else
                If .Value = "○" And .Font.ColorIndex = 1 Then
                    .Value = ""
                End If
                .Font.ColorIndex = 0
            End If
        End If
    End With
End Sub