Hello TylerM02,
Welcome to the forum!
I believe something like this is what you're looking for:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strResult As String
Dim rngSelected As Range
If Target.Cells.Count > 1 Then Exit Sub
Set rngSelected = Intersect(Target, Me.Range("Y41:Z49,Y55:Z99," & _
"AB41:AC49,AB55:AC99," & _
"AE41:AF49,AE55:AF99," & _
"AH41:AI49,AH55:AI99," & _
"AK41:AL49,AK55:AL99," & _
"AN41:AO49,AN55:AO99"))
If Not rngSelected Is Nothing Then
Application.EnableEvents = False
Select Case rngSelected.Column
Case Columns("Y").Column, Columns("Z").Column: MarkSelection Range("Y:Z"), rngSelected
Case Columns("AB").Column, Columns("AC").Column: MarkSelection Range("AB:AC"), rngSelected
Case Columns("AE").Column, Columns("AF").Column: MarkSelection Range("AE:AF"), rngSelected
Case Columns("AH").Column, Columns("AI").Column: MarkSelection Range("AH:AI"), rngSelected
Case Columns("AK").Column, Columns("AL").Column: MarkSelection Range("AK:AL"), rngSelected
Case Columns("AN").Column, Columns("AO").Column: MarkSelection Range("AN:AO"), rngSelected
End Select
Application.EnableEvents = True
End If
End Sub
Private Sub MarkSelection(ByVal rngColumns As Range, ByVal rngTarget As Range)
Dim strResult As String
If rngTarget.Value = "X" Then strResult = vbNullString Else strResult = "X"
Intersect(rngTarget.EntireRow, rngColumns.EntireColumn).ClearContents
rngTarget.Value = strResult
End Sub
Bookmarks