¿Cómo utilizar Excel VBA para hacer coincidir varios contenidos de una columna vertical de la hoja 2 según los nombres de la hoja 1?
Sub GetData()
Dim arr, brr(), buf(), rlt()
Dim i As Long, j As Long, k As Largo, m Mientras Largo, n Mientras Largo, x Mientras Largo, y Mientras Largo
arr = Sheets("Sheet2").Range("a2:e13")
ReDim brr (LBound(arr, 2) a UBound(arr, 2), LBound(arr) a UBound(arr))
Para i = LBound(arr) a UBound(arr)
Si arr(i, 2) = Hojas("Hoja1").Range("b2") Entonces
Para j = LBound(arr, 2) a UBound(arr, 2)
brr(j, LBound(arr) + k) = arr(i, j)
Siguiente j
k = k + 1
Fin Si
Siguiente i
ReDim buf(LBound(brr, 2) a UBound(brr, 2), LBound(brr) a UBound(brr))
Para i = LBound(brr) a UBound(brr)
Para j = LBound(brr, 2) a UBound(brr, 2)
buf(j, i) = brrr(i, j)
Siguiente j
Siguiente i
m = LBound(buf)
n = LBound(buf) + 6 - 1 'Primeras 6 líneas
x = LBound(buf, 2) + 3 - 1
y = UBound(buf, 2)
ReDim rlt(m Para n, x Para y)
Para i = m Para n
Para j = x Para y
rlt(i, j) = buf(i, j)
Siguiente
Siguiente
Hojas("Hoja1").Range("b5:d10").ClearContents
Sheets(" Sheet1").Range("b5:d10") = rlt
End Sub
Ejecute el gráfico real: