Selam.

Dim is short for Dimension. You are declaring a variable.

Most of the time you do not need to use it and your macro will work.

However. If you are using arrays it is a good idea to dimension it before you try and use it.


a macro with the name format
 Sub name()
can be called manually, through a command button or from another macro.

a macro with the name format [CODE] a macro with the name format
 Private Sub name()
can only be called from within Visual Basic maybe by another macro or a command button on a user form. They cannot be called manually as they do not appear on your run macro list.

This is useful because if you had every Macro on your run macro list you could not cope. For example in some userforms I can have 100 command buttons and text boxes.
If each associated macro were on your run macro list you could not cope.