Macro de VBA que procesa datos EXCEL: aplana y completa los datos en el rango A al rango B; recorre las celdas y genera dos columnas, la primera columna es el nombre de la celda y la segunda columna es el valor correspondiente

1. Aplane y complete los datos en el rango A al rango B

1. Descripción de los requisitos

Complete el rango A7:A18 con el valor de A2:D4 de la siguiente manera:

2. Date cuenta 

Idea: obtenga el valor en el rango de A2: D4 en una matriz, haga un bucle en la matriz y escriba el valor en A7: A18

  • El primer paso es insertar un botón en Excel. El autor usa un rectángulo aquí. Haga clic con el botón derecho en el rectángulo, seleccione "Especificar macro", ingrese el nombre de la macro en el cuadro emergente, haga clic en Nuevo y abra el editor de VB

  • El segundo paso es obtener el valor de A2:D4
Dim arr

arr = Worksheets("sheet1").Range("A2:D4")
  • El tercer paso es recorrer arr y generar cada valor en la ventana inmediata (similar a la ventana de comandos y la consola)
For Each i In arr

  Debug.Print i

Next
  • El cuarto paso, el rango objetivo es A7:A18, así que defina un inicio igual a 6, cuando atraviese arr, el inicio aumentará en 1 y asigne un valor a Astart:
Dim start

start = 6

For Each i In arr
  start = start + 1
  Worksheets("sheet1").Range("A" & start).Value = i
Next

El código completo es el siguiente:

Sub 矩形2_Click()

    Dim start
    Dim arr

    start = 6
    arr = Worksheets("sheet1").Range("A2:D4")

    For Each i In arr
      start = start + 1
      Worksheets("sheet1").Range("A" & start).Value = i
    Next

End Sub
  • Paso 5: haga clic en el rectángulo para escribir datos en el rango especificado.

2. Recorra las celdas y genere dos columnas, la primera columna es el nombre de la celda y la segunda columna es el valor correspondiente

1. Descripción de los requisitos

Complete los datos de A1: C4 a A6: B18, la primera columna muestra el nombre de la celda y la segunda columna muestra el valor correspondiente, por ejemplo, A1 corresponde a aaa:

2. Date cuenta

Obtenga el nombre de la celda: target.Cells.Address(0, 0)

Obtener valor: target.Cells

Sub 矩形1_Click()

    Dim start
    start = 5

    For Each i In Worksheets("sheet2").Range("A1:C4")
      start = start + 1
      Worksheets("sheet2").Range("A" & start).Value = i.Cells.Address(0, 0)
      Worksheets("sheet2").Range("B" & start).Value = i.Cells
    Next

End Sub

Resumir

        ¡Este artículo registra el método de uso de VBA para obtener datos en un rango específico, recorrer los datos y asignar valores dinámicamente a un rango específico, para estudio personal y referencia!

Supongo que te gusta

Origin blog.csdn.net/sxww_zyt/article/details/129882912
Recomendado
Clasificación