I used a "blank" cell to get the values. It is not fool-proof but should work most of the time. Of course this does edit the file so the user would be prompted to save even if they made no changes.
Sub Test_getColors()
Dim fc As Double, ic As Double
getColors fc, ic
Debug.Print fc, ic
End Sub
Sub getColors(ByRef FontColorPicker As Double, ByRef _
CellFillColorPicker As Double, Optional ac As Range)
Dim r As Range
If ac Is Nothing Then Set ac = ActiveCell
Set r = ActiveSheet.UsedRange
Set r = Cells(r.Rows.Count + 1, "A")
r.Select
Application.CommandBars.ExecuteMso "FontColorPicker"
FontColorPicker = r.Font.Color
r.Clear
Application.CommandBars.ExecuteMso "CellFillColorPicker"
CellFillColorPicker = r.Interior.Color
r.Clear
ac.Select
End Sub
Bookmarks