Copiar un numero hacia abajo hasta un blank

Tengo un codigo y deseo que la informacion que se coloca en la celda "F6" se copie hacia abajo hasta el blank, como si hiciera la funcion del doble clic en la esquina de la celda.

Aqui esta el codigo que fue mejorado gracias a la ayuda de Dante Amor

'********Aplicacion Unificar archivos de excel(*.xlsx) en un solo libro----------
Sub Open_Files()
Dim Hoja As Object

Application.ScreenUpdating = False
'Definir la variable como tipo Variante
Dim X As Variant
'Abrir cuadro de dialogo
X = Application.GetOpenFilename _
("Excel Files (*.csv), *.csv", 2, "Abrir archivos",, True)
'Validar si se seleccionaron archivos
If IsArray(X) Then ' Si se seleccionan
'Crea Libro nuevo
Workbooks. Add
'Captura nombre de archivo destino donde se grabaran los archivos seleccionados
A = ActiveWorkbook.Name
'*/********************
For y = LBound(X) To UBound(X)
Application.StatusBar = "Importando Archivos: " & X(y)
Workbooks.Open X(y)
b = ActiveWorkbook.Name
For Each Hoja In ActiveWorkbook.Sheets
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
num = Right(Workbooks(A).Sheets(Workbooks(A).Sheets.Count).[A3], 4)
Workbooks(A).Sheets(Workbooks(A).Sheets.Count).[F6] = num
Next
Workbooks(b).Close False
Next
Application.StatusBar = "Listo"
Call Unir_Hojas
End If
Application.ScreenUpdating = False
End Sub

Sub Unir_Hojas()
Dim Sig As Byte, Eliminar As Boolean
For Sig = 2 To Worksheets.Count
Worksheets(Sig).UsedRange.Copy _
Worksheets(1).Range("a1000000").End(xlUp).Offset(1)
Next
Application.DisplayAlerts = False
For Sig = 2 To Worksheets.Count
Worksheets(2).Delete
Next
Application.DisplayAlerts = True

End Sub

1 respuesta

Respuesta
1

Cambia esto:

For Each Hoja In ActiveWorkbook.Sheets
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
num = Right(Workbooks(A).Sheets(Workbooks(A).Sheets.Count).[A3], 4)
Workbooks(A).Sheets(Workbooks(A).Sheets.Count).[F6] = num
Next


Por esto:

    For Each Hoja In ActiveWorkbook.Sheets
        Set l2 = Workbooks(A)
        Hoja.Copy after:=l2.Sheets(l2.Sheets.Count)
        Set h2 = l2.Sheets(l2.Sheets.Count)
        num = Right(h2.[A3], 4)
        h2.[F6] = num
        u = h2.Range("F" & Rows.Count).End(xlUp).Row
        h2.Range("F7:F" & u) = num
    Next

H o l a:

Si tienes dudas o comentarios sobre el resultado de las macros, puedes solicitar más información. Si la respuesta que te estoy entregando es correcta, no veo por qué tus valoraciones tan solo las calificas como buenas.

La macro representa cierta dificultad; por simple que parezca la respuesta que te estoy entregando, tengo que revisar toda la macro y probar varias veces hasta que el resultado sea el que esperas.

Si estás de acuerdo, podrías cambiar la valoración de las respuestas que te entregué.

S a l u d o s

Una disculpa no había visto que venia la opción excelente, una disculpa y de verdad muchas gracias por toda la ayuda es muy valorada!

H o l a: No te preocupes, con todo gusto te apoyo con lo que necesites. Gracias por cambiar la valoración. S a l u d o s!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas