Dar formato a etiquetas generadas vía macro

Tardes Dante Amor.

Tengo una macro que genera etiquetas con la información existente en la hoja del libro llamada hoja auxiliar. Esta información es variable en cantidad, pudiendo ser de 4 datos a 100. O sea pueden ser 4 a 100 etiquetas.

Las etiquetas al generarse se pasan a una hoja llamada hoja final.

Existe en una hoja del libro la plantilla de la etiqueta, hoja plantilla.

En cada fila de la hoja entran tres etiquetas.

El inconveniente surge que la primera fila de etiquetas respeta el alto y ancho de las celdas dado por la macro formato sin embargo la cantidad de etiquetas al ser variable no veo la manera de hacer cíclico la macro formato.

La siguiente macro genera las etiquetas:

Private Sub CommandButton11_Click()
'Act.Por.Dante Amor
    Hoja6.Columns("A:Q").Clear
    fin = Hoja5.Range("b65536").End(xlUp).Row
    fila = 2
    colu = 1
    j = 8
    For i = 8 To fin Step 3
        j = i
        For k = 0 To 2
            If Hoja5.Cells(j, "A").Value = "" Then Exit For
            Hoja4.Range("b2").Value = "'" & Format(Hoja5.Cells(j, "A"), "00000000")
            Hoja4.Range("A1:E5").Copy Hoja6.Cells(fila, colu)
            colu = colu + 5
            j = j + 1
        Next
        'j = i
        colu = 1
        fila = fila + 5
    Next
    Formato
    MsgBox "Etiquetas generadas"
End Sub
'hoja4=plantilla
'hoja5=auxiliar
'hoja6=final

La siguiente macro da el formato a la primera fila de etiquetas:

Sub Formato()
    'Hoja6.Activate
    Hoja6.Columns("A:A").ColumnWidth = 0.67
    Hoja6.Columns("B:B").ColumnWidth = 10.29
    Hoja6.Columns("C:C").ColumnWidth = 7.71
    Hoja6.Columns("D:D").ColumnWidth = 45
    Hoja6.Columns("E:E").ColumnWidth = 0.67
    Hoja6.Columns("F:F").ColumnWidth = 0.67
    Hoja6.Columns("G:G").ColumnWidth = 10.29
    Hoja6.Columns("H:H").ColumnWidth = 7.71
    Hoja6.Columns("I:I").ColumnWidth = 45
    Hoja6.Columns("J:J").ColumnWidth = 0.67
    Hoja6.Columns("K:K").ColumnWidth = 0.67
    Hoja6.Columns("L:L").ColumnWidth = 10.29
    Hoja6.Columns("M:M").ColumnWidth = 7.71
    Hoja6.Columns("N:N").ColumnWidth = 45
    Hoja6.Columns("O:O").ColumnWidth = 0.67
    Hoja6.Rows("1:1").RowHeight = 6.75
    Hoja6.Rows("2:5").RowHeight = 15.75
    Hoja6.Rows("6:6").RowHeight = 6.75
End Sub

1 Respuesta

Respuesta
1

H o l a : Envíame tu último archivo con ejemplos de más de 4 datos. R ecuerda poner el nombre de usuario en el asunto.

Te anexo la macro formato actualizada

Sub Formato()
'Ac.Por.Dante Amor
    For i = 1 To Hoja6.Range("B" & Rows.Count).End(xlUp).Row + 5 Step 5
        Hoja6.Rows(i & ":" & i + 1).RowHeight = 6.75
        Hoja6.Rows(i + 2 & ":" & i + 4).RowHeight = 15.75
    Next
    Hoja6.Columns("A:A").ColumnWidth = 0.67
    Hoja6.Columns("B:B").ColumnWidth = 10.29
    Hoja6.Columns("C:C").ColumnWidth = 7.71
    Hoja6.Columns("D:D").ColumnWidth = 45
    Hoja6.Columns("E:E").ColumnWidth = 0.67
    Hoja6.Columns("F:F").ColumnWidth = 0.67
    Hoja6.Columns("G:G").ColumnWidth = 10.29
    Hoja6.Columns("H:H").ColumnWidth = 7.71
    Hoja6.Columns("I:I").ColumnWidth = 45
    Hoja6.Columns("J:J").ColumnWidth = 0.67
    Hoja6.Columns("K:K").ColumnWidth = 0.67
    Hoja6.Columns("L:L").ColumnWidth = 10.29
    Hoja6.Columns("M:M").ColumnWidth = 7.71
    Hoja6.Columns("N:N").ColumnWidth = 45
    Hoja6.Columns("O:O").ColumnWidth = 0.67
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas