Variant VBA | Com es pot declarar el tipus de dades variant a Excel VBA?

Tipus de dades variant VBA d'Excel

Tipus de dades variant a VBA és un tipus de dades universal que pot contenir qualsevol tipus de tipus de dades, però, mentre assignem el tipus de dades, hem d'utilitzar la paraula "Variant".

Tots sabem la importància de les variables en els projectes VBA. Un cop declarada la variable, hem d'assignar un tipus de dades a les variables declarades. L'assignació de tipus de dades a VBA depèn del tipus de dades que hem d'assignar a les variables declarades.

Per obtenir un exemple, mireu el codi següent.

Al codi anterior, he declarat la variable com "Número enter" i he assignat el tipus de dades com a "Enter".

Abans d'assignar el tipus de dades a la variable, hauria de ser conscient de les limitacions de la variable. Com que he assignat el tipus de dades com a enter, la meva variable pot contenir els números de -32768 a 32767.

Qualsevol cosa que superi el límit del límit de tipus de dades provocarà un error. Per tant, si volem emmagatzemar més de 32767 valor, hem d'assignar el tipus de dades diferent que pot contenir més de 32767.

Per superar aquesta limitació, tenim un tipus de dades universal "Variant". En aquest article es mostrarà la guia completa d’un tipus de dades variant.

Com es pot declarar el tipus de dades variant?

Podem declarar el tipus de dades variant com a tipus de dades habitual, però, mentre assignem el tipus de dades, hem d’utilitzar la paraula “Variant”.

Codi:

 Sub Variant_Example1 () Atenueu el meu número com a variant final Sub 

Això fa que la variable funcioni ara amb qualsevol tipus de dades. Podem assignar qualsevol número, cadena, data i moltes altres coses.

A continuació es mostra la demostració del mateix.

Codi:

 Sub Variant_Example1 () Dim Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "Gener" MyDate = "24-04-2019" MyNumber = 4563 MyName = "El meu nom és Excel VBA" Final Sub 

A l'anterior he assignat una data a la variable, un número a la variable, una cadena a la variable. Per tant, el tipus de dades Variant ens permet no preocupar-nos del tipus de dades que anem a emmagatzemar o assignar.

Tan bon punt declarem una variable com a variant, no ens hem de preocupar del nostre tipus de dades en algun lloc del centre del projecte mentre es codifica. Això fa que la variable funcioni de manera flexible segons les nostres necessitats. Probablement amb una sola variable podem dur a terme les nostres operacions en tot el projecte.

La variant VBA no requereix una manera explícita

El procediment general per declarar una variable VBA consisteix a donar nom a la variable i després assignar-li el tipus de dades. A continuació es mostra un exemple del mateix.

Aquesta és la forma explícita de declarar la variable. Tanmateix, quan declarem el tipus de dades Variant, no cal que els declarem explícitament, sinó que podem anomenar la variable i deixar de banda la part del tipus de dades.

Codi:

 Sub Variant_Example1 () Atenueu el meu número final Sub 

Al codi anterior, he anomenat la variable com a "El meu número", però després de nomenar la variable no li he assignat cap tipus de tipus de dades.

He deixat com a part [Nom del tipus de dades] perquè el moment que ignorem la part d'assignació del tipus de dades invariablement la variable es converteix en Variant.

Coses que cal recordar

Tot i que el tipus de dades "Variant" és flexible amb les dades que anem a emmagatzemar, aquest no és el tipus de dades popular. Sembla estrany però absolutament CERT. A no ser que hi hagi cap motiu específic per fer servir la gent, evita aquest tipus de dades. A continuació es mostren alguns dels motius per evitar l'ús de la variant.

  • Ignora tots els errors de desajustament de dades.
  • El tipus de dades variant ens limita a accedir a la llista IntelliSense.
  • VBA sempre endevina el millor tipus de dades possible i assigna en conseqüència.
  • En el cas del límit de tipus de dades sencers, el tipus de dades variant no ens avisa en el moment que creua els 32767 límits.