Imprimir mediante un boton dos veces una hoja!!

13/08/2008 - 17:45 por Age | Informe spam
Tengo un boton donde me copia una hoja exactamenter igual pero quiero
agregarle que ademas de copiar la hoja la imprima dos veces, cual seria el
macro que debo utilizar?

Gracias

Preguntas similare

Leer las respuestas

#1 Age
13/08/2008 - 23:17 | Informe spam
Este es el codigo completo y original:

'Aqui se declaran las variables a usarse
Dim codigo As Integer, cantidad As Integer, stockantiguo As Integer
Dim numero As Integer
Dim tipo As String, producto As String, medida As String

'Revisamos que los campos esten llenos, sino se envia un msj y finaliza la
macro
If Range("e4").value = Empty Or Range("e7").Value = Empty Or
Range("e8").Value = Empty Then
MsgBox prompt:="Ud. esta dejando campos vacios", Buttons:=vbOKOnly,
Title:="Llene todos los campos"
Exit Sub
End If

'Le damos valores a las variables
numero = Range("a1").Value
codigo = Range("e4").Value
medida = Range("e6").Value
cantidad = Range("e7").Value
tipo = Range("e8").Value

'Comienza la accion. Vamos a la otra hoja
'Revisamos las celdas con un bucle (do while-loop) para compararlas con
'las variables, para encontrar coincidencias
Sheets("Datos").Select
Range("a3").Select
Do While ActiveCell.Value <> Empty

'Si coinciden en codigo y tipo (entrada) aumenta el stock (+)
If ActiveCell.Value = codigo And tipo = "Entrada" Then
ActiveCell.Offset(0, 1).Select
producto = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
stockantiguo = ActiveCell.Value
ActiveCell.Value = ActiveCell.Value + cantidad
MsgBox prompt:="Su stock de " & producto & " a sido actualizado" & Chr(13) &
"de " & stockantiguo & " a " & ActiveCell.Value, Buttons:=vbOKOnly,
Title:="Stock actualizado"

' aqui comienza la rutina de control
Sheets("control").Select
Range("a1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = numero
ActiveCell.Offset(0, 1).Value = codigo
ActiveCell.Offset(0, 2).Value = producto
ActiveCell.Offset(0, 3).Value = medida
ActiveCell.Offset(0, 4).Value = cantidad
ActiveCell.Offset(0, 5).Value = tipo

' Limpieza de celdas
Sheets("partes").Select
Range("e4,e7,e8").ClearContents
Range("a1").Value = Range("a1").Value + 1
Range("e4").Select
Exit Sub
End If

'Si coinciden en codigo y tipo (salida) decrece el stock (-)
If ActiveCell.Value = codigo And tipo = "Salida" Then
ActiveCell.Offset(0, 1).Select
producto = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
stockantiguo = ActiveCell.Value
ActiveCell.Value = ActiveCell.Value - cantidad

'si al decrecer el stock, es menor a 0 (cero), nos avisa y deja el stock
como estaba
If ActiveCell.Value < 0 Then
ActiveCell.Value = ActiveCell.Value + cantidad
MsgBox prompt:="Hay menos productos de los que solicita", Buttons:=vbOKOnly,
Title:="Stock menor"
MsgBox prompt:="Le recordamos que su stock de " & producto & Chr(13) & "es
de " & ActiveCell.Value, Buttons:=vbOKOnly, Title:="Stock actual"
Sheets("partes").Select
Range("e4,e7,e8").ClearContents
Range("e4").Select
Exit Sub
End If

MsgBox prompt:="Su stock de " & producto & " a sido actualizado" & Chr(13) &
"de " & stockantiguo & " a " & ActiveCell.Value, Buttons:=vbOKOnly,
Title:="Stock actualizado"

' aqui comienza la rutina de control
Sheets("control").Select
Range("a1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = numero
ActiveCell.Offset(0, 1).Value = codigo
ActiveCell.Offset(0, 2).Value = producto
ActiveCell.Offset(0, 3).Value = medida
ActiveCell.Offset(0, 4).Value = cantidad
ActiveCell.Offset(0, 5).Value = tipo

' Limpieza de celdas
Sheets("partes").Select
Range("e4,e7,e8").ClearContents
Range("a1").Value = Range("a1").Value + 1
Range("e4").Select

End If

ActiveCell.Offset(1, 0).Select

Loop

'volvemos a la hoja de los partes y limpiamos las celdas
Sheets("partes").Select
Range("e4,e7,e8").ClearContents
Range("e4").Select
End Sub



"Héctor Miguel" escribió:

hola, !

> Tengo un boton donde me copia una hoja exactamenter igual
> pero quiero agregarle que ademas de copiar la hoja la imprima dos veces
> cual seria el macro que debo utilizar?

despues de copiar, esa hoja queda como la "hoja activa", entonces...
solo necesitas agregar la instruccion para que la impresion sea en "dos tantos" (p.e.)

activesheet.printout copies:=2

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#2 Héctor Miguel
13/08/2008 - 23:52 | Informe spam
hola, (...) ????????????

el codigo que expones "hace" una (exagerada) "danza" entre rangos y hojas -?-
para no sugerirte modificaciones que te pudieran "mover el tapete"...
prueba agregando solo una linea al final de tu codigo ANTES de la instruccion "End Sub"

la linea seria +/- asi:

worksheets("nombre de la hoja a imprimir").printout copies:=2

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida