Is there a way to change a selection of cells which contain relative references to absolute ones without typing “$” in front of the row and column ranges in each cell?
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
Reference Types (2000)
Home » Forums » AskWoody support » Productivity software by function » MS Excel and spreadsheet help » Reference Types (2000)
- This topic has 20 replies, 5 voices, and was last updated 22 years, 8 months ago.
AuthorTopicWSMichaelRead
AskWoody LoungerAugust 28, 2002 at 1:04 pm #375631Viewing 0 reply threadsAuthorReplies-
WSSammyB
AskWoody LoungerAugust 28, 2002 at 1:18 pm #612103Select the text of the cell(s) in the formula and press F4. Subsequent, F4’s will cycle thru all the absolute/relative possibilities. Whatever text is selected, partially selected, or has the insertion point next to it will be changed. This means that if you type =a1 and press F4, the formula becomes =$A$1. Try it, you’ll
it! –Sam
-
WSMichaelRead
AskWoody LoungerAugust 28, 2002 at 1:44 pm #612123Thanks Sammy, that is a pretty neat trick, but for the amount of cells I needed to convert, it was fairly lenthy. This is what I finally did using VBA (there may be a cleaner way to do it, but, hey, it worked!)
Sub ChangeRefType() Dim cell As Range For Each cell In ThisWorkbook.Sheets("OrderGuide").Range("b58:d410") cell.Formula = Application.ConvertFormula(Formula:=cell.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsolute) Next End Sub
-
WSSammyB
AskWoody Lounger -
WSMichaelRead
AskWoody Lounger -
WSJohnBF
AskWoody Lounger
-
-
-
WSrory
AskWoody LoungerAugust 28, 2002 at 2:42 pm #612142Hi Mike,
If you’re doing a lot of cells, you might find this quicker (sorry it’s a bit late!):Sub ChangeRefType() With Sheets("OrderGuide").Range("b58:d410") .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsolute) End With End Sub
FWIW.
-
WSMichaelRead
AskWoody LoungerAugust 28, 2002 at 6:32 pm #612200True indeed, works faster I believe.
A fairly ingenious person could attach it to the right click cell menu via an add-in install…be fairly cool to use the RangeSelection to change all the selected cells to or from absolute or relative! …although I think I mostly find the need to change them to absolute.
-
WSrory
AskWoody LoungerAugust 29, 2002 at 7:36 am #612340Mike,
Good idea – I shall add it to my (already overcrowded) right-click menu….
[later edit]
For the sake of completeness, I added a popup menu with all four options on it:Sub AbsoluteRef() With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsolute) End With End Sub Sub RelativeRef() With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlRelative) End With End Sub Sub AbsColumnRef() With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlRelRowAbsColumn) End With End Sub Sub AbsRowRef() With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsRowRelColumn) End With End Sub
FWIW.
-
WSJohnBF
AskWoody Lounger -
WSrory
AskWoody Lounger -
WSJohnBF
AskWoody LoungerAugust 29, 2002 at 4:07 pm #612488 -
WSMichaelRead
AskWoody LoungerAugust 30, 2002 at 12:30 am #612672OK, got my addin up and running to make changes to the cell commandbar. My question is this, is there a better way to undo the changes other than resetting the cell commandbar? In other words, if I gave this to my worst enemy who had made some serious and in-depth changes to his right click menu, when he uninstalled my add-in, all of his changes would be lost. Is there a better way not to make any enemies in this fashion?
-
WSMichaelRead
AskWoody Lounger -
WSrory
AskWoody LoungerAugust 30, 2002 at 7:45 am #612738 -
WSMichaelRead
AskWoody Lounger -
WSrory
AskWoody Lounger -
WSMichaelRead
AskWoody Lounger -
WSJohnBF
AskWoody LoungerAugust 31, 2002 at 8:08 pm #612974I suck at coding, however, here’s a WAG on the Reference Toggle with some documentation. Just works from whatever is in the first selected cell. Incompletely tested.
Sub FormulaRefToggle()
Dim strFCFormula As String
Dim intRef As Integer
Dim rngSel As Range
On Error Resume Next
Set rngSel = Intersect(ActiveSheet.UsedRange, Selection).SpecialCells(xlCellTypeFormulas, 7)
If Not rngSel Is Nothing Then
strFCFormula = Cells(rngSel.Row, rngSel.Column).FormulaR1C1
‘ xlAbsolute 1
‘ xlAbsRowRelColumn 2
‘ xlRelRowAbsColumn 3
‘ xlRelative 4
intRef = 1 + (1 – CInt(InStr(strFCFormula, “R[“) > 0) * 2 – CInt(InStr(strFCFormula, “C[“) > 0)) Mod 4
‘MsgBox ActiveCell.FormulaR1C1 & vbLf & intRef
rngSel.Formula = Application.ConvertFormula(Formula:=rngSel.Formula, _
fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=intRef)
End If
End SubIf there is a function in the first cell in the selection, this sets all formulas to use the same function, which is a major danger since there is no undo with VBA. I need to research Application.ConvertFormula. Please improve!
-
WSrory
AskWoody LoungerSeptember 1, 2002 at 5:01 pm #613188John,
The major problem (or at least the first one I ran into) is that references relative to the same row or column don’t have the [ in them – e.g. RC[2] or R[2]C. The latter seems to be trickier to allow for. For the time being, as I’m swamped at work too, I think I’ll stick with my 4 separate macros! Though you could combine them and pass a parameter to the sub from the Tag of the commandbarcontrol….. -
WSkjktoo
AskWoody LoungerSeptember 1, 2002 at 6:20 pm #613192John, How about this version.
First put this at the top of the module to contain the sub that follows:Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type Dim kbArray As KeyboardBytes Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Const VK_NUMLOCK As Integer = &H90 Const VK_SHIFT As Integer = &H10 Const VK_CONTROL As Integer = &H11 Const VK_MENU As Integer = &H12 'Alt key Const VK_CAPSLOCK As Integer = &H14
Now here’s the sub. Attach it to a button and run it this way. Hold down control & shift and click the button to get $A$1, just the control key and click gives $A1, just the shift key and click gives A$1, and just a plain click gives A1.
Sub RefSwitcher() Dim ShiftState As Long Dim CntrlState As Long ShiftState = GetKeyState(VK_SHIFT) And 128 CntrlState = GetKeyState(VK_CONTROL) And 128 If ShiftState = 128 And CntrlState = 128 Then With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsolute) End With ElseIf CntrlState = 128 Then With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlRelRowAbsColumn) End With ElseIf ShiftState = 128 Then With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlAbsRowRelColumn) End With Else With Selection .Formula = Application.ConvertFormula(Formula:=.Formula, _ fromreferencestyle:=xlA1, toreferencestyle:=xlA1, toabsolute:=xlRelative) End With End If End Sub
Ken
-
-
-
-
Viewing 0 reply threads -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
Thunderbird release notes for 128 esr have disappeared
by
EricB
1 hour, 25 minutes ago -
CISA mutes own website, shifts routine cyber alerts to X, RSS, email
by
Nibbled To Death By Ducks
1 hour, 53 minutes ago -
Apple releases 18.5
by
Susan Bradley
2 hours, 13 minutes ago -
Fedora Linux 40 will go end of life for updates and support on 2025-05-13.
by
Alex5723
3 hours, 19 minutes ago -
How a new type of AI is helping police skirt facial recognition bans
by
Alex5723
3 hours, 57 minutes ago -
Windows 7 ISO /Windows 10 ISO
by
ECWS
10 hours, 53 minutes ago -
No HP software folders
by
fpefpe
11 hours, 38 minutes ago -
Which antivirus apps and VPNs are the most secure in 2025?
by
B. Livingston
3 hours, 51 minutes ago -
Stay connected anywhere
by
Peter Deegan
17 hours, 1 minute ago -
Copilot, under the table
by
Will Fastie
8 hours, 14 minutes ago -
The Windows experience
by
Will Fastie
23 hours, 15 minutes ago -
A tale of two operating systems
by
Susan Bradley
14 hours, 11 minutes ago -
Microsoft : Resolving Blue Screen errors in Windows
by
Alex5723
1 day, 4 hours ago -
Where’s the cache today?
by
Up2you2
1 day, 19 hours ago -
Ascension says recent data breach affects over 430,000 patients
by
Nibbled To Death By Ducks
1 day, 12 hours ago -
Nintendo Switch 2 has a remote killing switch
by
Alex5723
13 hours, 1 minute ago -
Blocking Search (on task bar) from going to web
by
HenryW
1 day, 20 hours ago -
Windows 10: Microsoft 365 Apps will be supported up to Oct. 10 2028
by
Alex5723
2 days, 13 hours ago -
Add or Remove “Ask Copilot” Context Menu in Windows 11 and 10
by
Alex5723
2 days, 13 hours ago -
regarding april update and may update
by
heybengbeng
2 days, 14 hours ago -
MS Passkey
by
pmruzicka
1 day, 16 hours ago -
Can’t make Opera my default browser
by
bmeacham
2 days, 22 hours ago -
*Some settings are managed by your organization
by
rlowe44
2 days, 9 hours ago -
Formatting of “Forward”ed e-mails
by
Scott Mills
2 days, 21 hours ago -
SmartSwitch PC Updates will only be supported through the MS Store Going Forward
by
PL1
3 days, 17 hours ago -
CISA warns of hackers targeting critical oil infrastructure
by
Nibbled To Death By Ducks
4 days, 2 hours ago -
AI slop
by
Susan Bradley
1 day, 19 hours ago -
Chrome : Using AI with Enhanced Protection mode
by
Alex5723
4 days, 3 hours ago -
Two blank icons
by
CR2
1 day, 11 hours ago -
Documents, Pictures, Desktop on OneDrive in Windows 11
by
ThePhoenix
1 day, 13 hours ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.