Question: I have a sheet where I want to change the value in a range of cells in a different column than my selection. I use VBA because it's part of a code that sends information to a certain printer. I would like to let the macro also show that the selection has been printed.

**To clarify:**  

- When I select F4:F10, I want the cells G4:G10 changed to a text value "Yes".  

- When I select F4:F15, I want the cells G4:G15 changed to a text value "Yes".

I've searched the forums and I found/made the following:

```
Sheets("INPUT").Select
ActiveCell.Offset(0, 1).FormulaR1C1 = "Yes"

```

That works perfectly fine, however it only changes the value of one cell and not a range of cells.

Is there a way to change a range of cells to "Yes" instead of just one cell?

Answer: 
Try 

```
Selection.Offset(0,1).Value = "Yes"

```

This is where `Selection` is your range selected. This is offset by 1 column and has value of `"Yes"` assigned in one go.
Okay, here's my shot at this problem. I'm not quite sure what triggers your current code so I thought it made sense to catch it via the [Worksheet.SelectionChange Event](https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.selectionchange).

This will update the value of all `G4:G10` *only* if you've selected all of `F4:F10` and likewise will only change `G4:G15` if you select all of `F4:F15`.

```
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim intersectedAll As Boolean
    Dim cell As Range

    Dim rng1 As Range
    Set rng1 = Range("F4:F10")

    If Target.count = rng1.count Then
        intersectedAll = True

        For Each cell In rng1
            If Intersect(Target, rng1) Is Nothing Then
                intersectedAll = False
            End If
        Next cell

        If intersectedAll = True Then
            Target.offset(0, 1).value = "Yes"
            intersectedAll = False
        End If
    End If

    Dim rng2 As Range
    Set rng2 = Range("F4:F15")

    If Target.count = rng2.count Then
        intersectedAll = True

        For Each cell In rng2
            If Intersect(Target, rng2) Is Nothing Then
                intersectedAll = False
            End If
        Next cell

        If intersectedAll = True Then
            Target.offset(0, 1).value = "Yes"
            intersectedAll = False
        End If
    End If

End Sub

```