Public Function IsStrikeThrough(rng As Range)

W

William Poh Ben

I tried to use the code below to sort the range of cells in column A s
that the strikethrough characters can be sorted to the top.

I used these steps but it failed to run. Appreciate if someone ca
help. Thanks a lot.
1) Open Excel.
2) Right click on the Sheet1 name tab.
3) Select View Code.
4) Copy the code and paste it over the top of the Sheet1 code window.
5) Press Alt+Q to return to Excels normal view.
6) Push Alt+F8, but there is no macro name I can select select to Run




Public Function IsStrikeThrough(rng As Range)
Application.Volatile
IsStrikeThrough = rng.Font.Strikethrough
End Function


Use this in an adjacent column and use that as the first sort key
 
C

Chip Pearson

William,

The code should be placed in a standard code module, not the Sheet1 code
module. In the VBA editor, go to the Insert menu and choose 'Module'.
Place the code in that module. Moreover, the code is a Function procedure,
not a Sub procedure, so it won't show up in the Macro dialog box. The
function is intended to be called from a worksheet cell. E.g.,

=IsStrikeThrough(A1)


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 
T

Tom Ogilvy

I am not sure where you got those step.

Open Excel

Open the workbook and go to the worksheet where you want to sort.

do Alt+F11
in the menu do insert => Module

in the resulting module, paste in the code


Public Function IsStrikeThrough(rng As Range)
Application.Volatile
IsStrikeThrough = rng.Font.Strikethrough
End Function

do Alt+F11 to get back to Excel

go to the dummy column and put in

=IsStrikeThrough(A2)

in row 2 for example then drag fill down.

Sort on this column as the first key. use other columns for second and
third key if appropriate.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top