Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Resumen

Este artículo contiene procedimientos de Ejemplo de Microsoft Visual Basic para Aplicaciones que puede usar para trabajar con varios tipos de matrices.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se muestra, así como las herramientas empleadas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas. NOTA: En procedimientos de Visual Basic para Aplicaciones, las palabras después del apóstrofo (') son comentarios.
 

Para rellenar una matriz y, después, copiarla en una hoja de cálculo

  1. Abra un libro nuevo e inserte una hoja de módulo de Visual Basic.

  2. Escriba el código siguiente en la hoja de módulos.

    Sub Sheet_Fill_Array()
       Dim myarray As Variant
       myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
       Range("a1:a10").Value = Application.Transpose(myarray)
    End Sub
    
  3. Seleccione Hoja1.

  4. En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.

  5. En el cuadro de diálogo Macro, haga clic en Sheet_Fill_Array y luego en Ejecutar.

Para tomar valores de una hoja de cálculo y rellenar la matriz

  1. Escriba valores en Hoja1 en las celdas A1:A10.

  2. En una hoja de módulo de Visual Basic, escriba el código siguiente:

    Sub from_sheet_make_array()
       Dim thisarray As Variant
       thisarray = Range("a1:a10").Value
    
       counter = 1                'looping structure to look at array
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  3. Seleccione Hoja1.

  4. En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.

  5. En el cuadro de diálogo Macro, haga clic en from_sheet_make_array y, a continuación, haga clic en Ejecutar.

Para pasar y recibir una matriz

  1. En una hoja de módulo, escriba el código siguiente:

    Sub pass_array()
       Dim thisarray As Variant
       thisarray = Selection.Value
       receive_array (thisarray)
    End Sub
    
    Sub receive_array(thisarray)
       counter = 1
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  2. Seleccione Hoja1 y resalte el rango A1:A10.

  3. En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.

  4. En el cuadro de diálogo Macro, haga clic en pass_array y, a continuación, haga clic en Ejecutar.

Para comparar dos matrices

  1. Cree dos rangos con nombre en Hoja1. Asigne un nombre a un rango1 y al otro rango2.

    Por ejemplo, resalte el rango de celdas A1:A10 y asímbralo rango1; resalte el rango de celdas B1:B10 y asímbralo rango2.

  2. Escriba el código siguiente en la hoja de módulos.

    Sub compare_two_array()
       Dim thisarray As Variant
       Dim thatarray As Variant
    
       thisarray = Range("range1").Value
       thatarray = Range("range2").Value
       counter = 1
       While counter <= UBound(thisarray)
          x = thisarray(counter, 1)
          y = thatarray(counter, 1)
          If x = y Then
             MsgBox "yes"
          Else MsgBox "no"
          End If
          counter = counter + 1
       Wend
    End Sub
    
  3. Seleccione Hoja2.

  4. En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macro.

  5. En el cuadro de diálogo Macro, haga clic en compare_two_array y, a continuación, haga clic en Ejecutar.

    Verá un cuadro de mensaje para cada comparación.

Para rellenar una matriz dinámica

  1. En una hoja de módulo, escriba el código siguiente:

    Sub fill_array()
    
       Dim thisarray As Variant
       number_of_elements = 3     'number of elements in the array
    
       'must redim below to set size
       ReDim thisarray(1 To number_of_elements) As Integer
       'resizes this size of the array
       counter = 1
       fillmeup = 7
       For counter = 1 To number_of_elements
          thisarray(counter) = fillmeup
       Next counter
    
       counter = 1         'this loop shows what was filled in
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter)
          counter = counter + 1
       Wend
    
    End Sub
    
  2. En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.

  3. En el cuadro de diálogo Macro, haga clic en fill_array y, a continuación, haga clic en Ejecutar.

NOTA: Cambiar la variable "number_of_elements" determinará el tamaño de la matriz.
 

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×