ForeColorの代わりにUserPictureメソッドを用いることで、画像で図形を塗りつぶすことができます。
UserPictureメソッドの使い方
図形を画像で塗りつぶす
Shapeオブジェクト(またはShapeRangeコレクション).Fill.UserPicture (PictureFile)
Shapeオブジェクト(またはShapeRangeコレクション).Fill.UserPicture (PictureFile)

この図形に画像を適用したいと思います。
' vba
ActiveSheet.Shapes(1).Fill.UserPicture
図形を取得し、UserPictureメソッドを記述して、その後に画像のパスを記述するわけですが、

場所から記述しないといけないので、画像のプロパティなどからコピペし、
' vba
ActiveSheet.Shapes(1).Fill.UserPicture "C:\Users\User\Desktop\cellular.jpg"
最後にファイル名を付けて、全体を
""
で閉じます。
実行すると、図形が指定した画像で塗りつぶされます。
' vba
ActiveSheet.Shapes.Range(Array(1, 2)).Fill.UserPicture "C:\Users\User\Desktop\cellular.jpg"
複数図形に同時に画像を割り当てたい場合は、ShapeRangeコレクションを使用します。詳しくは図形の取得の記事参照。

Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。
図形作成・操作...

関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
コメント