ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro (https://www.excelbanter.com/excel-programming/299557-macro.html)

Cindy

Macro
 
I recieved a reply to this earlier asking if I really
wanted a1:ax1 and I do but I think it got me out of the
loop to receive an answer so I am reposting this. Any
help will be greatly appreciated.

I am trying to write a macro that allows the user to pick
a font and then applies it to certain parts of the
worksheet.

Using the macro below, everything works fine except that
it is only changing the fonts on the column and row
headers. i.e.: The A, B, C etc that defines the column
or likewise the 1, 2, 3 etc that defines the row.

I think I'm close but cant figure out what I'm doing
wrong. Any help will be greatly appreciated.


ChangeFont Macro
' Macro recorded 05/12/2004 by Cindy Jordan
'
Dim dlgAnswer As Boolean
Dim objFontChoice As Font
Sheets("MedRates").Select
Range("a1").Select
dlgAnswer = Application.Dialogs(xlDialogFont).Show
If dlgAnswer = False Then Exit Sub
Set objFontChoice = Selection.Font

Sheets(Array
("Coversheet", "MedRates", "MedBenefits", "DentalRates", _
"DentalBenefits", "STD", "LTD", "Life")).Select
Sheets("MedRates").Select
Range("a1:ax1").Select
With Selection.Font
.Name = objFontChoice.Name
End With
Range("A1").Select
Sheets("MedRates").Select
..



Greg Wilson[_4_]

Macro
 
I believe you're using the wrong dialog. There are several
dialogs that format font. The dialog xlDialogFormatFont
seems to do what you want. Assuming you want to change the
font for ranges A1:AX1 for all sheets listed in the array
to the chosen font then perhaps this:

Sub ChangeFont()
Dim i As Integer
Dim ShtArr As Variant
Dim dlgAnswer As Boolean
Dim objFontChoice As Font
On Error Resume Next
ShtArr = Array
("Coversheet", "MedRates", "MedBenefits", "DentalRates", _
"DentalBenefits", "STD", "LTD", "Life")
Sheets("MedRates").Select
Range("a1").Select
dlgAnswer = Application.Dialogs(xlDialogFormatFont).Show
If dlgAnswer = False Then Exit Sub
Set objFontChoice = Selection.Font
For i = LBound(ShtArr) To UBound(ShtArr)
Sheets(ShtArr(i)).Range("A1:AX1").Font.Name =
objFontChoice.Name
Next
On Error GoTo 0
End Sub





Cindy

Macro
 
Thank You very much.


-----Original Message-----
I believe you're using the wrong dialog. There are

several
dialogs that format font. The dialog xlDialogFormatFont
seems to do what you want. Assuming you want to change

the
font for ranges A1:AX1 for all sheets listed in the

array
to the chosen font then perhaps this:

Sub ChangeFont()
Dim i As Integer
Dim ShtArr As Variant
Dim dlgAnswer As Boolean
Dim objFontChoice As Font
On Error Resume Next
ShtArr = Array
("Coversheet", "MedRates", "MedBenefits", "DentalRates",

_
"DentalBenefits", "STD", "LTD", "Life")
Sheets("MedRates").Select
Range("a1").Select
dlgAnswer = Application.Dialogs(xlDialogFormatFont).Show
If dlgAnswer = False Then Exit Sub
Set objFontChoice = Selection.Font
For i = LBound(ShtArr) To UBound(ShtArr)
Sheets(ShtArr(i)).Range("A1:AX1").Font.Name =
objFontChoice.Name
Next
On Error GoTo 0
End Sub




.



All times are GMT +1. The time now is 07:07 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com