![]() |
Formatting via VBA
I recorded a simple macro to change the format of a worksheet to "Accounting".
Cells.Select Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" But how do I "deselect" the page after the macro has executed? In other words, when I created the macro I selected the entire spreadsheet, so when I run the macro the entire worksheet remains selected after the macro runs. What code can I put at the end of the macro so that the last cell that was selected when the was run is reselected when it finishes. Or, if there's better code to accomplish the reformatting of a spreadsheet that negates having to reselect the cell I was working in I'd appreciate to have that. Thanks. |
Formatting via VBA
Cells.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)"
Daniel I recorded a simple macro to change the format of a worksheet to "Accounting". Cells.Select Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" But how do I "deselect" the page after the macro has executed? In other words, when I created the macro I selected the entire spreadsheet, so when I run the macro the entire worksheet remains selected after the macro runs. What code can I put at the end of the macro so that the last cell that was selected when the was run is reselected when it finishes. Or, if there's better code to accomplish the reformatting of a spreadsheet that negates having to reselect the cell I was working in I'd appreciate to have that. Thanks. |
Formatting via VBA
Daniel--this works perfectly. I appreciate your valuable help.
"Exceller" wrote: I recorded a simple macro to change the format of a worksheet to "Accounting". Cells.Select Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" But how do I "deselect" the page after the macro has executed? In other words, when I created the macro I selected the entire spreadsheet, so when I run the macro the entire worksheet remains selected after the macro runs. What code can I put at the end of the macro so that the last cell that was selected when the was run is reselected when it finishes. Or, if there's better code to accomplish the reformatting of a spreadsheet that negates having to reselect the cell I was working in I'd appreciate to have that. Thanks. |
Formatting via VBA
For future reference... when you use the macro recorder, it sees you do
every step; hence it saw you select the cells (first step) and then apply a format to them (second step), so it gave you two separate lines like this... Range.Select Selection.DoSomethingToTheSelection [=][TheSomething] where DoSomethingToTheSelection could be a method to execute against the selection or, as in your case, an assignment of a value to one of the selection's properties. The point is that it is almost always possible to "bridge" the two statements at the Select/Selection to produce a single line command like this... Range.DoSomethingToThisSelection [=][TheSomething] Very rarely does VBA actually make you select the range before doing something to it; so, if you see that construction result from the macro recorder, you should consider performing the above "bridging" of the two lines as shown above to see VBA will allow it (your program won't jump around as much, so it should be more efficient). -- Rick (MVP - Excel) "Exceller" wrote in message ... Daniel--this works perfectly. I appreciate your valuable help. "Exceller" wrote: I recorded a simple macro to change the format of a worksheet to "Accounting". Cells.Select Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)" But how do I "deselect" the page after the macro has executed? In other words, when I created the macro I selected the entire spreadsheet, so when I run the macro the entire worksheet remains selected after the macro runs. What code can I put at the end of the macro so that the last cell that was selected when the was run is reselected when it finishes. Or, if there's better code to accomplish the reformatting of a spreadsheet that negates having to reselect the cell I was working in I'd appreciate to have that. Thanks. |
All times are GMT +1. The time now is 05:15 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com