What is the difference in declaring array variable as of these three styles:
Dim MyArr1 As Variant
Dim MyArr2() As Variant
Dim MyArr3()
Are all these three dynamic variables?
I cannot find a link to documentation where those three are compared.
Update. I really cannot see a difference when these two codes are executed:
code 1
Dim MyArr
MyArr = Range("a1:c10").Value
code 2
Dim MyArr() As Variant
MyArr = Range("a1:c10").Value
Does it really matter if we declare array in any of the three ways listed above, as long as we want to assign values to array reading them from a range?
MyArr=Range("A1:C10").Value
Is it so that when the line above is being executed then declaring variable happens just before filling it with values. Just as if we had a hidden line of code:
Dim MyArr(10,3) As Variant '10 rows, and 3 columns
So does MyArr become a static array variable when we read data to it from a range?

MyArr4 = array()withoutDimif you're not usingOption ExplicitOption Explicitwe actually should recommend to always turn it on.Dim MyArr()is definitly an array, and you cannot assign a value to itMyArr = 5will fail. ButDim MyArris completely undefined and can either assigned a valueMyArr = 5will work or an arrayMyArr = Range("a1:c10").Valueor a rangeSet MyArr = Range("a1:c10"). So be as specific als possible if you declare a variable. That means if you want to doMyArr = Range("a1:c10").Valuethen always make sure it is declared as arrayDim MyArr() As Variantwhich is the most specific option here. So no one can put something else than an array into it.