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.
In general, try to avoid using Selection where possible. Here's an alternate that prompts the user to select the range, and then updates the corresponding cells in the column to the right:

```
Sub tgr()

    Const sUpdatedValue As String = "Yes"

    Dim rSelected As Range
    Dim rArea As Range

    On Error Resume Next
    Set rSelected = Application.InputBox(Prompt:="Select Range of Cells." & Chr(10) & _
                                                 "Note that the cells in the column to the RIGHT of the selection will be updated.", _
                                         Title:="Range Selection", _
                                         Default:=Selection.Address, _
                                         Type:=8)
    On Error GoTo 0
    If rSelected Is Nothing Then Exit Sub   'Pressed cancel

    For Each rArea In rSelected.Areas
        rArea.Offset(, 1).Value = sUpdatedValue
    Next rArea

End Sub

```