Olá Colega ai vai a explicação
A primeira coisa a deixar claro é que DIM é uma variável e PRIVATE é uma SUB-ROTINA
A variável declara um tipo de dado ao ambiente de código ex:
DIM dado as Currency
dado será declarado como moeda
e isto é uma variavel .
Sub-Rotina
para que um código em VISUAL BASIC possa ser executado pelo interpretador ou compilador, ele deve ser escrito dentro de uma sub-rotina ou função.
Ao se criar uma sub-rotina, deve-se iniciá-la com a declaração PRIVATE ou Public. Mas geralmente, as sub-rotinas são declaradas apenas como PRIVATE, pois são mais utilizadas dentro de um form. Tanto as sub-rotinas como as funções podem receber argumentos, que são valores passados para elas, para que executem uma determinada tarefa.
e é isso resumidamente falando.
espero ter tirado sua duvida, valeu até