excel vba shift range
' Returns a shifted version of initial range (same size)
Function ShiftRange(ByVal pRange As Range, ByVal pRowOffset, ByVal pColumnOffset)
Set ShiftRange = pRange.Offset(pRowOffset, pColumnOffset)
End Function
'--------------------------------------------------------------------------------
Sub TestIt()
Dim rInitialRange, rShiftedRange As Range
Dim iRowOffset, iColOffset As Long
iRowOffset = 2 ' Shifts 2 rows down
iColOffset = -1 ' Shifts 1 column left
Set rInitialRange = Range("D1:B3")
' Sets a shifted version of initial range (2 rows below, 1 column left)
Set rShiftedRange = ShiftRange(rInitialRange, iRowOffset, iColOffset)
MsgBox "Initial range: " & rInitialRange.Address(False, False) & vbCrLf _
& vbCrLf & "Row offset : " & iRowOffset _
& vbCrLf & "Column offset : " & iColOffset & vbCrLf _
& vbCrLf & "New range : " & rShiftedRange.Address(False, False)
End Sub
Are there any code examples left?
New code examples in category VBA
-
VBA 2022-03-27 20:55:02 excel vba check if all substrings in list are in string
-
VBA 2022-03-27 20:40:39 excel vba set cell value to empty
-
VBA 2022-03-27 17:05:52 vba simple quote
-
VBA 2022-03-27 14:30:19 textbox find and replace vb
-
VBA 2022-03-27 09:10:21 nested if else in vb.net
-
VBA 2022-03-27 09:10:09 excel vba string to bits
-
VBA 2022-03-25 02:00:15 vba verticalalignment
-
VBA 2022-03-24 12:20:06 Excel web scraping
-
VBA 2022-03-24 10:11:00 excel vba BitToLong
-
VBA 2022-03-21 18:00:05 excel vba save file txt