UTF-8でCSVファイル出力するには、ADODB.Streamを使うのが一番簡単です。FileSystemObjectを使うのと同様に参照設定しておくと後々楽です。
ADODB.Streamで解決する
UTF-8でファイル出力するには、ADODB.Streamオブジェクトを使います。CSVファイルに限らずUTF-8でテキスト出力する際にも使うことができます。
サンプルプログラムを確認する(コピペOK)
Sub sample()
'最終行列
Dim maxRow As Long: maxRow = Range("A1").SpecialCells(xlLastCell).Row
Dim maxCol As Long: maxCol = Range("A1").SpecialCells(xlLastCell).Column
' ファイルをUTF-8で開く
Dim st As Object: Set st = New ADODB.Stream
st.Charset = "UTF-8"
st.Open
Dim strLine As String
Dim i As Long, j As Long
For i = 1 To maxRow
strLine = ""
For j = 1 To maxCol - 1
strLine = strLine & Cells(i, j) & ","
Next j
strLine = strLine & Cells(i, j)
st.WriteText strLine, adWriteLine
Next i
'上書きモードでセーブ
st.SaveToFile "d:\test.csv", adSaveCreateOverWrite
st.Close
End Sub