Change Capitalization For Many Cells at Once

How can I change the captialization for many table cells at once. I can do it for one cell at a time by triple-clicking an choosing the capitalization menu within fonts, but if I select all the cells I want to change and then go to fonts>capitalization, the capitalization menu is dimmed.


thanks,


Jeff

iMac (21.5-inch Late 2009), OS X Mavericks (10.9)

Posted on Feb 14, 2014 7:16 AM

Reply
Question marked as Top-ranking reply

Posted on Feb 14, 2014 11:44 AM

Jeff,


If you are doing a lot of this, here is an AppleScript that will change the text case in multiple selected cells.



--select range of cells in Numbers, run, changes text case

--change as desired to: "upper" "lower" "title" "capitalize"

set caseType to "title"

tell application "Numbers" to tell front document to tell active sheet

set selectedTable to first table whose class of selection range is range

tell selectedTable

set selectedRange to the selection range

tell selectedRange

repeat with i from 1 to count of cells

set thisValue to value of cell i

if thisValue is not missing value then set value of cell i to ¬

(do shell script "/usr/bin/python -c \"import sys; print unicode(sys.argv[1], 'utf8')." & caseType & "().encode('utf8')\" " & quoted form of thisValue)

end repeat

end tell

end tell

end tell

--end of script




This changes the actual text, not just how it is displayed in Numbers, so it won't "revert" your subsequent manual changes. To use, select the cells first, then run.


SG

18 replies
Question marked as Top-ranking reply

Feb 14, 2014 11:44 AM in response to Jeff Friedman

Jeff,


If you are doing a lot of this, here is an AppleScript that will change the text case in multiple selected cells.



--select range of cells in Numbers, run, changes text case

--change as desired to: "upper" "lower" "title" "capitalize"

set caseType to "title"

tell application "Numbers" to tell front document to tell active sheet

set selectedTable to first table whose class of selection range is range

tell selectedTable

set selectedRange to the selection range

tell selectedRange

repeat with i from 1 to count of cells

set thisValue to value of cell i

if thisValue is not missing value then set value of cell i to ¬

(do shell script "/usr/bin/python -c \"import sys; print unicode(sys.argv[1], 'utf8')." & caseType & "().encode('utf8')\" " & quoted form of thisValue)

end repeat

end tell

end tell

end tell

--end of script




This changes the actual text, not just how it is displayed in Numbers, so it won't "revert" your subsequent manual changes. To use, select the cells first, then run.


SG

Feb 14, 2014 7:30 AM in response to Jeff Friedman

Jeff,


The capitalization menu only seems to work on text (that is you must double click the text in the cell to get the menu item to activate). The only way I can think of to capitalize this text is to:

copy (from Numbers)

to a text editor (I used Mail),

then copy (from Mail) to Pages

then use the menu item "Edit > Transformations > Make Upper Case"

then copy (from Page) back to Numbers

Feb 14, 2014 8:10 AM in response to Jerrold Green1

Yes,


UPPER() is probably your best bet:


assuming lower case list is in column B. Add a new column after column B then use the formula:

C2=UPPER(B2)


this is shorthand for select cell C2 then type (or copy and paste from here) the formula:

=UPPER(B2)


select C2, copy

select column C, paste. If cell C1 is a header then hold the command key and click cell C1 before pasting

Feb 14, 2014 9:42 AM in response to Jeff Friedman

You are correct about the menu command for capitalization. It is applying a format. The formatting way of doing it does not change the underlying text in the cell it only affects the way it is displayed. You can see the actual text that is in the cell by looking at the bar at the bottom of the Numbers window. It applies the format to whatever was in the cell and whatever you type in the cell afterward.

Feb 14, 2014 8:00 AM in response to Jeff Friedman

If it is a column (or row) of cells to convert and you want all uppercase characters, you can insert a temporary new column (or row) and use the UPPER formula. Then you can Paste Formula Results back to the original column and delete the new column (or row).


If you want the first letter of each word capitalized, it is the same thing except use the PROPER function

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Change Capitalization For Many Cells at Once

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.