This is VBA not VB.NET

Try .Value of Cell

Function VendorName5() As String

    Name = ActiveCell.Offset(0, -4).Value

    VendorName5 = Name

End Function
Answer from Fabio on Stack Overflow
🌐
Microsoft Learn
learn.microsoft.com › en-us › office › vba › api › excel.range.offset
Range.Offset property (Excel) | Microsoft Learn
Returns a Range object that represents a range that's offset from the specified range. ... This example activates the cell three columns to the right of and three rows down from the active cell on Sheet1.
Discussions

vba - ActiveCell.Offset Confusion - Stack Overflow
Whatever range you select this will print the address of the white cell within the selection. ... Calling Offset(1,0) on a single cell will only offset that cell. More on stackoverflow.com
🌐 stackoverflow.com
VBA, select range using two offset cell references
Edit: Ignore what I wrote earlier Following seems to work fine for me, if at least one of the cells in M1:M550 has a True. Does this code give you 1004 error? Sub Find_True_SD() Sheets("Southern Domestic").Select ActiveSheet.Range("M1:M550").Select Selection.Find(what:="True", LookIn:=xlValues).Select Range(Selection, Selection.Offset(14, 10)).Select End Sub More on reddit.com
🌐 r/excel
5
1
April 16, 2023
Selecting a block of cells using offset
Hi I know how to select a block of cells using VBA. But for this task, I have to be able to do it using the offset function, because data is inserted using the offset function. So my question is this: in the code below, assuming that C3 (or C4, or C5 (depending on where the offset function... More on mrexcel.com
🌐 mrexcel.com
7
0
November 4, 2019
Use Range.Offset Method with cell value
Is there a way to use a cell Value with Range.Offset Method? I Have this code done by a colleague ( @JLGWhiz ) from the forum, in parts it works as i need, but i would like to use "fn.Offset(... More on mrexcel.com
🌐 mrexcel.com
20
0
September 9, 2020
🌐
Affordsol
affordsol.be › vba-code-2-6-cells-ranges.htm
VBA Excel Range Cells and Offset
The three words in VBA Excel that you will use the most to move around the worksheet are: Range, Offset and Select. Always use Range rather than Cells
Top answer
1 of 1
12

Short answer

Yes in this particular case both do the same. Removing Range("A1") is fine.

Long Answer

This is due to the fact you are using ActiveCell in this line:

ActiveCell.Offset(1, 0).Range("A1").Select

The ActiveCell is the first cell within the range you have selected.

Consider the following macro:

Sub Macro1()
    Debug.Print ActiveCell.Address
End Sub

Whatever range you select this will print the address of the white cell within the selection.

i.e.

The ActiveCell is 4

Example

Calling Offset(1,0) on a single cell will only offset that cell. So if we look at your original code:

Sub Macro2()
    Sheets("Setup").Select
    Range("Start").Select
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

Let us assume that my previous selection shown (A2:B4) is the named range of "Start" and we can walk through exactly what is happening:

  1. In this example Range("Start").Select would select range A2:B4. Thus making ActiveCell equal to A2.

  2. Next we call Offset(1,0) on ActiveCell which is equivalent to Range("A2").Offset(1,0) putting us at range A3 (1 row below A2)

  3. Now we call .Range("A1") which is going to grab the first cell within the range. Since the current range is only A3, .Range("A1") gives us A3.

  4. Then of course .Select() is still only selecting A3

When is .Range("A1") actually useful?

Consider the following example without any Range("A1") call:

Sub Macro3()
    Sheets("Setup").Select
    Range("Start").Select
    Selection.Offset(1, 0).Select
End Sub

Since we have changed ActiveCell to Selection the Offset(1,0) will select the same dimension range as "Start" just offset-ed by 1 row.

i.e.:

If this is the range of "Start":

We run the example macro:

We have a new selection of the same dimension.

However if we change the example macro to include the Range("A1"):

Sub Macro4()
    Sheets("Setup").Select
    Range("Start").Select
    Selection.Offset(1, 0).Range("A1").Select
End Sub

Only the first cell in the selection is now selected.

🌐
Wall Street Mojo
wallstreetmojo.com › home › all blogs › vba resources › vba offset
VBA OFFSET Function - Definition, Examples, How to Use?
April 30, 2025 - The VBA Offset function returns a reference to a cell or range that is a specified number of rows and columns away from a starting cell.
🌐
Excel Champs
excelchamps.com › home › vba › excel vba offset – how to use it
Excel VBA Offset - How to use it
May 19, 2024 - In VBA, OFFSET allows you to move or refer from one cell to another by a specified number of rows and columns. For example,
🌐
Excel Easy
excel-easy.com › vba › examples › offset.html
Offset Property in Excel VBA - Step by Step Tutorial
The Offset property in Excel VBA takes the range which is a particular number of rows and columns away from a certain range. Place a command button on your worksheet and add the following code lines: 1. The Offset property below returns a range ...
Find elsewhere
🌐
Reddit
reddit.com › r/excel › vba, select range using two offset cell references
r/excel on Reddit: VBA, select range using two offset cell references
April 16, 2023 -
Sub Find_True_SD()

'Selects 'Southern Domestic' Worksheet, selects range (M1:M550). Finds 'True' value in column 'M', then selects the range specified so that it can copy and paste in another worksheet.

Sheets("Southern Domestic").Select
ActiveSheet.Range("M1:M550").Select
Selection.Find(what:="True", LookIn:=xlValues).Select

Selection.Offset(0, -12).Select
Selection.Offset(14, 10).Select
End Sub

I would like to copy and paste a range of information into another worksheet.

I have numerous tables for each half hour of a work shift. Each table has a True/False value in Column M depending on the current time. E.g. at 12:37pm, the table covering 12:30pm until 1:00pm would have a value in the M column stating True, the 1:00pm until 1:30pm table would have a false value in the M column and so on for each half hour period.

I am currently able to find and select the True value within the M column, I can then select either the start or end of the range I want to copy using the selection.offset(). select method but I cannot manage to select all of it.

I have tried things such as:

 Range(selection, selection.offset(14,10)).select

but I get a runtime error 1004, application defined or object defined error.

Any help would be appreciated.

🌐
Better Solutions
bettersolutions.com › excel › cells-ranges › vba-offset-method.htm
Excel Cells & Ranges - VBA Offset Method
3 weeks ago - Range.Offset(RowOffset, ColumnOffset) This method returns range that is offset to a range object. This method does not change the active range (unlike the Select and Activate methods). This enters the number 15 in the cell directly below and to the right of the active cell.
🌐
500rockets
500rockets.io › home › excel › how to use vba excel offset to select cells programmatically
How to use VBA Excel Offset to Select Cells Programmatically | 500 Rockets Marketing
October 5, 2023 - Offset(3, 2) - this defines our offset range. This part of the code will indicate that VBA needs to move 3 rows downward and 2 columns right. Again, like example number 1, we need to input Select in the code to indicate that we are going to use the select method. The result of the code will point out to the cell we are looking for, C5.
🌐
MrExcel
mrexcel.com › forums › question forums › excel questions
Selecting a block of cells using offset | MrExcel Message Board
November 4, 2019 - Sub HighlightCells() 'ActiveCell.Offset(0, -2).Select Range("C3", Range("C3").End(xlToLeft)).Copy End Sub ... Hi Fluff Thanks for the prompt response. That code works if the active cell is E3, F3 or a column further down the alphabet. But it doesn't work if the active cell is C3 (column C will always be the last column where data is inserted).
🌐
Udemy
blog.udemy.com › home › excel vba offset: how to jump ahead of the row
Excel VBA Offset: How to Jump Ahead of the Row - Udemy Blog
December 4, 2019 - If you’re new to them, no problem, you can try out our course for VBA with Excel. The OffSet() returns the value of the cell, at an offset that you’ve specified.
🌐
ExcelDemy
exceldemy.com › home › macros & excel vba › how to use vba range offset (11 easy ways)
How to Use VBA Range Offset (11 Easy Ways) - ExcelDemy
June 27, 2024 - In this article we will demonstrate a variety of ways to use the VBA Range Offset. Here is an overview. To illustrate our methods, we’ll use the following data table containing information about some students. We used Microsoft Excel 365 version, but you can use any other version at your disposal. Let’s select the cell containing the name Daniel Defoe by using the RANGE function.
🌐
EDUCBA
educba.com › home › vba › vba resources › vba lookup & reference functions › vba offset
VBA OFFSET | How to Use OFFSET Function in Excel VBA with example?
July 8, 2021 - Suppose, if you want to move down from B1 cell 2 rows and goes 2 columns to the right and select that cell i.e. cell D3. To use OFFSET function in VBA, we have to use VBA RANGE object because OFFSET refers cells and from that RANGE object we can use OFFSET function.
Address   Unit no. 202, Jay Antariksh Bldg, Makwana Road, Marol, Andheri (East),, 400059, Mumbai
🌐
MrExcel
mrexcel.com › forums › question forums › excel questions
Use Range.Offset Method with cell value | MrExcel Message Board
September 9, 2020 - You can go left, right, up, and down to a single cell. If you mean offset by B1 value, resize by D2 then make that range an entire column then that is · VBA Code: fn.Offset(, Range("B2").Value).Resize(, Range("D2").Value).EntireColumn.Copy If you mean something else then you need to describe in detail exactly what you want.
🌐
Super User
superuser.com › questions › 1483015 › vba-range-with-offset-instead-of-strictly-given-rows-columns
microsoft excel - vba range with offset instead of strictly given rows/columns - Super User
September 16, 2019 - Dim rng As Range Range("A1:K2000").Select Set rng = Selection.Find(What:="MJ") If Not rng Is Nothing Then rng.Cells.Select Dim furthest_row As Integer rng.Offset(2000, -4).Select Selection.End(xlUp).Select If ActiveCell.Row > furthest_row Then furthest_row = ActiveCell.Row End If rng.Offset(2000, -3).Select Selection.End(xlUp).Select If ActiveCell.Row > furthest_row Then furthest_row = ActiveCell.Row End If Range("T9:T" & furthest_row).Select .
🌐
Excel-vba
excel-vba.com › vba-excel-lesson-2-6-2-offset.htm
VBA Excel Range Cells and Offset
The Offset property is the one that you will use the most with Range to move around the sheet. It is the very important property that allows you to move right, left, up and down and to extend the size of the selection · To move one cell down (from B2 to B3): Range("B2").Offset(1,0).Select ...
🌐
Homeandlearn
homeandlearn.org › the_offset_property.html
Excel VBA Programming - the Offset property
Range("A1").Offset(RowOffSet:=1, ColumnOffset:=1).Select · The above code will select cell B2. The location we've used is cell A1. We've then typed a dot followed by the word Offset. In between round brackets, you tell Excel the new location. This is done with the parameters RowOffSet and ColumnOffSet.
🌐
ExcelMojo
excelmojo.com › home › vba › vba offset
VBA Offset Excel - Function, Examples, How to Use?
July 2, 2025 - VBA OFFSET is a function that helps us to navigate from one cell to another cell bypassing a specified number of rows to the down or top from the given cell and a specified number of columns to the right or left from the reference point cell.
🌐
Computergaga
computergaga.com › home › use the offset property in vba
Use the Offset Property in VBA
December 23, 2021 - The Offset property in VBA lets you to move around a worksheet using ranges relative to your current position.