Combinación de etiquetas con número variable copias

Anónimas
2020-10-15T08:50:15+00:00

Hola, estoy combinando un archivo de excel con word para imprimir una lista de etiquetas. Cuando voy a imprimir  las etiquetas me deja cambiar el número de copias que voy a imprimir pero siempre que la cantidad sea  la misma para todas las etiquetas de mi lista.

El caso es que necesito imprimir unnúmero diferente de copias de cada etiqueta, por ejemplo de la A necesito 1 copia, de la B 3, de la C 2... ¿me podría ayudar alguien?

Muchas gracias por adelantado

Microsoft 365 y Office | Word | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios
{count} votos

2 respuestas

Ordenar por: Muy útil
  1. Anónimas
    2020-10-15T09:41:30+00:00

    Un millón de gracias por la solución y la rapidez.

    0 comentarios No hay comentarios
  2. WordExperto 63,905 Puntos de reputación Moderador voluntario
    2020-10-15T09:35:06+00:00

    Hola Lorni:

    Necesitas usar como origen de datos una hoja de Excel que repita las etiquetas. Esto es lo que hace esta macro de nuestro compañero Doug Robbins, tomando como referencia el número de etiquetas a repetir, que estará en la última columna de la hoja inicial.

    wordexperto.

    Dim SourceSheet As Worksheet

    Dim TargetSheet As Worksheet

    Dim i As Long, j As Long, k As Long, r As Long, numlabels As Long

    Set SourceSheet = ActiveSheet

    Set TargetSheet = Sheets.Add

    With SourceSheet.Range("A1")

        For i = 0 To .CurrentRegion.Columns.Count - 2

            TargetSheet.Range("A1").Offset(0, i) = .Offset(0, i)

        Next i

        r = 1

        For k = 1 To .CurrentRegion.Rows.Count - 1

            numlabels = .Offset(k, .CurrentRegion.Columns.Count - 1)

            For j = 1 To numlabels

                For i = 0 To .CurrentRegion.Columns.Count - 2

                    TargetSheet.Range("A1").Offset(r, i) = .Offset(k, i)

                Next i

                r = r + 1

            Next j

        Next k

    End With

    0 comentarios No hay comentarios