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