The Format function you used in your code in VB is generally used for formatting strings, not for converting data types. you should convert the formatted string to the appropriate data type before assigning it to the cell. Assuming 'Amt' is expected to be a numeric value, you can use 'Decimal.TryParse' to convert the formatted string to a Decimal -
For Each dgr As DataGridViewRow In dgvExpSubject.Rows
Dim formattedAmt As String = Format(amt, AG.MASK_DOLLARS)
Dim parsedAmt As Decimal
If Decimal.TryParse(formattedAmt, parsedAmt) Then
dgr.Cells("Amt").Value = parsedAmt
Else
End If
Next