Selected Answer
@JFKennedy,
Even though you have not provided a sample file here are the problems I see with the code you have presented.
1) Your " Call Clr_DepForm " statement needs to be inside a sub proceedure and not freestanding.
2) Your 2 "Dim" statements seem unnecessary as "Form" and "Data23" seem to be sheet names.
3) Your 2 "Set" statements throw compile errors because "SourceSheet" and "DataSheet" are undefined variables. (eg: Dim SourceSheet as Worksheet, Dim DataSheet as Worksheet)
4) After declaring variables you should then have the line: " Sheets("Form").Activate " so the macro knows which sheet to act on.
5) Using " .ClearContents " and " .Value = 0 " have simlar results with one small difference. They both remove or overwrite whatever is in the specified cell/range. " .ClearContents " will remove whatever is in the cell, formulas included, and the cell will be blank; " .Value=0 " overwrites whatever is in the cell, formulas included, and the cell now displays " 0 ". Is this the result you intended?
With all that being said, I would suggest you change your macro to:
Select All
Sub Clr_DepForm_NEW()
'Clear Deposit Form
Sheets("Form").Activate
Range("B4").ClearContents
Range("F6").Value = 0
Range("F8:H16").Value = 0
Range("F18:H18").Value = 0
Range("F20:H24").Value = 0
Range("F27:H29").Value = 0
Range("F32:H34").Value = 0
Range("F36:H36").Value = 0
Range("M6:O25").Value = 0
Range("I27:N29").ClearContents
Range("I35:L36").ClearContents
Cells(4, 2).Select ' or use Range("B4").Select to keep code consistant
End Sub
If this solves your issue please mark my answer as selected.
Cheers :-)