Regular module = When you add module in VBE (editor).
Most macro that's referenced by button/shapes should reside here.
Sheet1 = Worksheet Module
When you want to run the code tied to specific cell change, selection change on a given sheet. Code goes here.
ThisWorkbook = Workbook Module
When you want to run the code when workbook is opened, closed... or when you want to run the code on all worksheets when some change is made etc. Code goes here.
The problem is that If1 can also refer to a worksheet cell !
Name your macros with longer names , so that they cannot be taken to refer to a worksheet cell ; for example , instead of If1 , if you rename the same macro to LongerIf1 , then the qualifying Function_IF is not required.