Soy un principiante en macros que intenta agregar un código de macro que encontrará libros en los que los primeros 6 caracteres en el nombre del archivo son "Personalizados" y cualquier carácter posterior está permitido. El código se agregará a la macro a continuación. Esto se desea porque a menudo tengo muchos otros libros de trabajo abiertos con nombres de archivos que no comienzan con los caracteres "Personalizados" y no deseo recopilar ningún dato de estos.
Supongo que implicará cambiar el código de línea que ahora lee
"Si wb.Name & lt; & gt; ThisWorkbook.Name Then"
a algo como:
"Si wb.Name = custom * .xl ?? Entonces"
- Excel 2010
- Todos los archivos están abiertos.
- Las extensiones de archivo incluyen .xls, .xlsm, .xlsx
- Incluya solo archivos en los que las primeras 6 letras del nombre del archivo sean 'personalizadas .... "
Código:
Sub getdata()
' Brings data (Tables)from workbooks that are open places the data in one large table in a workbook.
Dim sh As Worksheet, wb As Workbook, lr As Long..
Set sh = ThisWorkbook.Sheets(1) 'Edit sheet name
For Each wb In Application.Workbooks
If wb.Name <> ThisWorkbook.Name Then
''lr = wb.Sheets(1).Cells.Find("*", , xlFormulas, xlPart, xlByRows, xlPrevious).Row ' goes to bottom of data
lr = wb.Sheets(1).Cells.Find("*", , xlFormulas, xlPart, xlByRows, xlPrevious).Offset(-3, 0).Row If Application.CountA(sh.Rows(4)) = 0 Then
wb.Sheets(1).Range("A4:P" & lr).Copy sh.Range("A4")
Else
wb.Sheets(1).Range("A4:P" & lr).Copy sh.Cells(Rows.Count, 1).End(xlUp)(2)
End If
End If
Next
End Sub
¡Hola! No somos un servicio de escritura de guiones, pero podemos ayudar con detalles. ¿Qué has intentado hasta ahora? ¿Dónde exactamente te quedas atascado codificando lo que quieres en la macro?
—
Ƭᴇcʜιᴇ007