By replace the custom icon I assume you mean all of the options, such as
vbExclamation and vbCritical. If so, no, but there is a work around. You
would need to create your own form. Design it to look like a MsgBox by
setting Control Box, Min Button, Max Button, Record Selectors, etc to No in
the form's Properties. When you open the form, use the acDialog window mode
argument. This will cause the calling code to pause just as it does for a
message box. The code will continue when you close or hide the form. To
return a value from the form, place a hidden textbox on the calling form and
have the dialog form place the return value in that textbox or have a hidden
textbox on the dialog form, place the value in it, and hide the form
(Visible = False) instead of closing it. Your calling code can then retrieve
the value form the dialog form then close it after the retrieval.