¿Cómo fusionar diferentes contenidos de una tabla? ¿Cómo operar? ¡Por favor ayuda!
La combinación se puede dividir en combinación dentro de un libro de trabajo y combinación entre libros de trabajo
Al menos debe tener un poco de conocimiento de VBA y modificar el código de acuerdo con sus necesidades reales.
Según tu comprensión del título, lo entiendo como la fusión de diferentes libros.
Te daré el código básico y podrás modificarlo según tus propias necesidades.
Dim?Sum ?fileStr$, arr
Dim?p>
SubdataConcatenate()
Dim?Sum, ?fileStr$, arr
Suma =?0
Para?i=?1?A?40
fileStr?=?getDesktop?amp;"\temp\ test("?amp; ?i?amp; ?") .xlsx"
If?Len(Dir(fileStr))?lt;gt;?0?Then
Workbooks.Open?Filename:= fileStr,ReadOnly:= True
If?Sum?=?0?Then
arr?=?ActiveSheet.UsedRange.
ActiveWorkbook.Close?False
Sheet1.Cells(1, 1).Resize(UBound(arr),?UBound(arr,?2)).Value?=?arr?' Pegar en la primera fila de Excel
Else p>
arr?=ActiveSheet.UsedRange.Offset(1).Value
ActiveWorkbook.Close?False
Hoja1.Celdas(Rows.Count , 1).End( xlUp).Offset(1).Resize(UBound(arr),?UBound(arr,?2)).Value?=?arr?' Pegar en Excel después de la última fila
¿Fin?Si
Suma?=?Suma?1
Fin?Si
Siguiente?i
MsgBox?Sum ?amp; "¡Copiar un archivo está completo!"
End?Sub
También se proporciona el código fuente para fusionar hojas de trabajo en el libro para su referencia
Sub?MultiSheetMerge()
Dim?i? como un número entero, rsAs? como un número entero, rss? como un número entero, st? Set?zst?=?Sheet( "Estadísticas")
Para?i?=?1?to?3
Set?st?=?Sheet(i)?Variable de tabla 'rs?=?st.UsedRange .Row.Count
'?rss?=?zst.UsedRange.Row.Count rs?=?st.Cells.Find("*",?,?, ?,?,xlPrevious).Row ''¿Cuántas filas hay en la tabla fuente rss?=?zst.Cells.Find("*",?,?,?,?xlPrevious).Row?'El número de filas en la tabla de destino st.Range("A2:B "? amp;?rs).Copyzst.Range("A"? amp;?rss? ?
1) zst.Cells(rss??1,?3).Resize(rs?-?1)?1)?=?i?amp;?"month"?RS, una de las columnas es el nombre de la columna p>
Página siguiente
¿Fin?Sub