Je n'ai pas compris dans quelle guillemet mettre le :
Actuellement, ce caractère n'est pas mis entre guillemets pour signifier que c'est un texte qu'il ne faut pas interpréter. VBA comprend donc le : comme une instruction à part entière. Dans VBA, il est utilisé pour écrire sur une même ligne des instructions qui auraient du être séparées par un saut de ligne (ce qui n'est absolument pas ton objectif ici).
Comme je vois que tu écris des choses sans trop les comprendre, je t'invite à découper tes instructions en petites "briques" dans une macro de test dédiée, pour évaluer le résultat de chacune de ces briques séparément. Exemple :
Sub Test()
Dim ML Long, DL As Long
ML = 1234
DL = 2345
MsgBox "F&ML"
MsgBox "F" & ML
MsgBox "F" & ML & :"F" & DL
MsgBox "F" & ML & ":F" & DL
End Sub