Como modifico en un Formulario de Cliente

Como podria adjuntar el archivo para mejor explicación:

En dicho formulario lo estoy preparando para que una vez cargado los datos de un cliente pueda imprimir rótulos que se pegan en los distintos paquetes enviados por transporte al cliente.

Por tal motivo tengo los dos botones CREAR ETIQUETAS y AGREGAR ETIQUETAS
Si se realiza las etiquetas para un solo cliente todo bien por que sale el MsgBox al accionar el SI imprime la cantidad solicitada en la hoja ETIQUETAS_IMPRESIONES.
Pero si debo realizar etiquetas para más de un cliente cada vez que cargo en el formulario un nuevo cliente tengo que accionar el botón AGREGAR ETIQUETAS para que se agreguen a continuación de las primeras en la hoja ETIQUETAS_IMPRESIONES y así sucesivamente hasta terminar e imprimir de una sola vez todas las etiquetas necesarias.

Lo que pretendo es que cuando debo realizar etiquetas para más de un cliente al salir el MsgBox SI quiero imprimir las etiquetas al decirle que NO pase a la otra macro de Añadir Etiquetas directamente donde previamente salga un MsgBox que indique al usuario que debe cargar un nuevo cliente.

Esta son las macros que trato que funcionen coordinadamente:

Private Sub botSacarEt_Click()
Dim i%, j%
Dim etiq As Range

'Application.ScreenUpdating = False
Application.DisplayAlerts = False

Sheets("ETIQUETAS_IMPRESIONES").Select

ActiveSheet.ResetAllPageBreaks
ActiveSheet.PageSetup.PrintArea = ""

[b2] = ""
[B3] = ""
[b5] = ""
[b6] = ""
[b7] = ""
[b8] = ""
[b9] = ""
[b11] = ""
[c11] = ""

If Me.ETIQUETAS = 0 Or Me.ETIQUETAS = "" Then
MsgBox "Debe eliegir cuántas etiquetas crear"
Me.ETIQUETAS.SetFocus
Exit Sub
End If

num = CDbl(ETIQUETAS)

[b2] = NOMBRE1
[B3] = DNI
[b5] = NOMBRE
[b6] = CUIT
[b7] = TELEFONO
[b8] = DIRECCION
[b9] = LOCALIDAD
[b11] = TRANSPORTE
[c11] = CANTIDAD

Set etiq = Range("A1:C12")
etiq.Copy

If num Mod 2 = 0 Then
f = 14
For i = 1 To num / 2
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next i
Else
f = 14
For j = 1 To Int(num / 2)
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next j
Cells(f, 1).PasteSpecial xlPasteAll
End If

uf = Range("B" & Rows.Count).End(xlUp).Row + 1

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(62, 1)
ActiveSheet.PageSetup.PrintArea = Range("A14:G" & uf).Address

impr = MsgBox("¿Desea imprimir las etiquetas?", vbYesNo, "Impresión de Etiquetas")

If impr = vbYes Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If

Application.DisplayAlerts = True

End Sub


Private Sub CommandButton3_Click()
Dim i%, j%
Dim etiq As Range
Dim ufa&, ufb&, ufi&

Application.DisplayAlerts = False

Sheets("ETIQUETAS_IMPRESIONES").Select

ufa = Range("C" & Rows.Count).End(xlUp).Row
ufb = Range("G" & Rows.Count).End(xlUp).Row

If ufa = ufb Then
If Me.ETIQUETAS = 0 Or Me.ETIQUETAS = "" Then
MsgBox "Debe eliegir cuántas etiquetas crear"
Me.ETIQUETAS.SetFocus
Exit Sub
End If
num = CDbl(ETIQUETAS)
[b2] = NOMBRE1
[B3] = DNI
[b5] = NOMBRE
[b6] = CUIT
[b7] = TELEFONO
[b8] = DIRECCION
[b9] = LOCALIDAD
[b11] = TRANSPORTE
[c11] = CANTIDAD
Set etiq = Range("A1:C12")
etiq.Copy

If num Mod 2 = 0 Then
f = ufa + 2
For i = 1 To num / 2
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next i
Else
f = ufa + 2
For j = 1 To Int(num / 2)
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next j
Cells(f, 1).PasteSpecial xlPasteAll
End If
Else
If Me.ETIQUETAS = 0 Or Me.ETIQUETAS = "" Then
MsgBox "Debe eliegir cuántas etiquetas crear"
Me.ETIQUETAS.SetFocus
Exit Sub
End If
num = CDbl(ETIQUETAS)
[b2] = NOMBRE1
[B3] = DNI
[b5] = NOMBRE
[b6] = CUIT
[b7] = TELEFONO
[b8] = DIRECCION
[b9] = LOCALIDAD
[b11] = TRANSPORTE
[c11] = CANTIDAD
Set etiq = Range("A1:C12")
etiq.Copy
Cells(ufb + 2, 5).PasteSpecial xlPasteAll
If num Mod 2 = 0 Then
f = ufa + 2
For i = 1 To num / 2
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next i
Else
f = ufa + 2
For j = 1 To Int(num / 2)
Cells(f, 1).PasteSpecial xlPasteAll
Cells(f, 5).PasteSpecial xlPasteAll
f = f + 12
Next j
End If
End If

ufi = Range("B" & Rows.Count).End(xlUp).Row + 1

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(62, 1)
ActiveSheet.PageSetup.PrintArea = Range("A14:G" & ufi).Address

impr = MsgBox("¿Desea imprimir las etiquetas?", vbYesNo, "Impresión de Etiquetas")

If impr = vbYes Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If

Application.DisplayAlerts = True

End Sub

Añade tu respuesta

Haz clic para o