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?
![]() |
There are isolated problems with current patches, but they are well-known and documented on this site. |
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, 7 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
-
Updating Windows 10 to Windows 11: 23H2 or 24H2?
by
Still Anonymous
23 minutes ago -
How can I update “Explorer Patcher”
by
WSplanckster
29 minutes ago -
Check out the home page for Signal
by
CAS
1 hour, 32 minutes ago -
Windows 11 and Trial version of MS Office
by
Tex265
1 hour, 41 minutes ago -
Windows 11 Insider Preview build 26120.3585 (24H2) released to BETA
by
joep517
4 hours, 52 minutes ago -
Windows 11 Insider Preview build 26200.5510 released to DEV
by
joep517
4 hours, 55 minutes ago -
Windows 11 Insider Preview Build 26100.3624 (24H2) released to Release Preview
by
joep517
4 hours, 59 minutes ago -
Limits on User Names
by
CWBillow
1 hour, 41 minutes ago -
MS-DEFCON 4: Mixed bag for March
by
Susan Bradley
21 minutes ago -
Non Apple Keyboards
by
pmcjr6142
19 minutes ago -
How to delete your 23andMe data – The Verge
by
AJNorth
7 minutes ago -
7 common myths about Windows 11 (Microsoft AD)
by
EyesOnWindows
2 hours, 25 minutes ago -
Error updating to Win11 0x8024a205
by
bmeacham
23 hours, 8 minutes ago -
default apps
by
chasfinn
22 hours, 49 minutes ago -
Will MS Works 4 work in MS Win 11?
by
MileHighFlyer
1 day, 6 hours ago -
Adding links to text in Word 2000
by
sgeneris
3 hours, 55 minutes ago -
FBI warnings are true—fake file converters do push malware
by
Nibbled To Death By Ducks
1 day ago -
Classic and Extended Control Panel — no need to say goodbye
by
Deanna McElveen
2 hours, 38 minutes ago -
Things you can do in 2025 that you couldn’t do in 2024
by
Max Stul Oppenheimer
1 day, 11 hours ago -
Revisiting Windows 11’s File Explorer
by
Will Fastie
20 hours, 14 minutes ago -
Planning ahead for migration
by
Susan Bradley
15 hours, 13 minutes ago -
Yahoo mail getting ornery
by
Tom in Az
22 hours, 58 minutes ago -
Is Spectrum discontinuing email service?
by
Peobody
1 day, 2 hours ago -
Practice what you preach! A cautionary tale.
by
RetiredGeek
23 hours, 2 minutes ago -
Looking for Microsoft Defender Manuals/Tutorial
by
blueboy714
1 day, 3 hours ago -
Win 11 24H2 Home or Pro?
by
CWBillow
23 hours, 45 minutes ago -
Bipartisan Effort to Sunset the ‘26 Words That Created the Internet’..
by
Alex5723
3 days, 9 hours ago -
Outlook new and edge do not load
by
cHJARLES a pECKHAM
3 days, 21 hours ago -
Problem using exfat drives for backup
by
Danmc
3 days, 21 hours ago -
I hate that AI is on every computer we have!
by
1bumthumb
2 days, 23 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.