Macros (I)

Microsoft proporciona ejemplos de programación sólo como ilustración, 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.


Rellenar una matriz y copiarla en una hoja de cálculo

  • Abra un libro nuevo.
  • Presione Alt+F11 para ejecutar el Editor de Visual Basic.
  • En el menú Insertar, haga clic en Módulo.
  • Escriba el siguiente código en la hoja de módulo:

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.WorksheetFunction.Transpose(myarray)
End Sub

  • En el menú Archivo, haga clic en Cerrar y volver a Microsoft Excel.
  • Seleccione Sheet1.
  • En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.
  • En el cuadro de diálogo Macro, haga clic en Sheet_Fill_Array y, a continuación, haga clic en Ejecutar.

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

  • Abra un libro nuevo y escriba valores en las celdas A1:A10 de Sheet1.
  • Presione Alt+F11 para ejecutar el Editor de Visual Basic.
  • En el menú Insertar, haga clic en Módulo.
  • Escriba el siguiente código en la hoja de módulo:

Sub From_sheet_make_array()
Dim myarray As Variant
myarray = Range(“a1:a10”).Value

‘Looping structure to look at array.
For i = 1 To UBound(myarray)
MsgBox myarray(i, 1)
Next
End Sub

  • En el menú Archivo, haga clic en Cerrar y volver a Microsoft Excel.
  • Seleccione Sheet1.
  • En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.
  • En el cuadro de diálogo Macro, haga clic en From_sheet_make_array y, a continuación, haga clic en Ejecutar.

Pasar y recibir una matriz

  • Abra un libro nuevo.
  • Presione Alt+F11 para ejecutar el Editor de Visual Basic.
  • En el menú Insertar, haga clic en Módulo.
  • Escriba el siguiente código en la hoja de módulo:

Sub Pass_array()
Dim myarray As Variant
myarray = Range(“a1:a10”).Value
receive_array myarray
End Sub

Sub receive_array(thisarray)
For i = 1 To UBound(myarray)
MsgBox myarray(i, 1)
Next
End Sub

  • En el menú Archivo, haga clic en Cerrar y volver a Microsoft Excel.
  • Seleccione Sheet1 y resalte el rango A1:A10.
  • En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Macros.
  • En el cuadro de diálogo Macro, haga clic en Pass_array y, a continuación, haga clic en Ejecutar.

Fuente: microsoft.com