Guardar el resultado en otra Hoja si Los Funciones

13/12/2005 - 02:55 por KM ** Ve | Informe spam
Hola amigos,Tengo una hoja de Excel con muchas funciones y resultado de otra
hoja, Quero hacer una función para que guardes un Resultado de ciertas celda
de la hoja de resultado en Orta hoja nueva o enviarla por E mail cuando le
digo que guardes la hoja que me hace la pregunta enviar por E mail o guardar
en una carpeta especifica.



Gracias

KM**VE

Preguntas similare

Leer las respuestas

#6 KM ** Ve
16/12/2005 - 05:08 | Informe spam
Hola Amigo Héctor Gracias por tu Gran Ayuda Eres una bella Persona, todo va
bien como lo que hecho pero el macro no esta guardado el archivo con el
nombre que esta en la celda (B5) y esta guardando bajo nombre Libro1. y
esta guardado todo lo que esta en libro Excel si es posible guardar solo por
pagina 1, y no se donde esta guardando el libro que esta Generando haber si
lo guardas en una ruta especifica la rita yo lo escribo en una celda (M1)=
C:\Excel\PRESUPUESTO


Gracias
KM**VE

"Héctor Miguel" escribió en el mensaje
news:eil%
hola, KM !

... la prioridad mia no es cuando enviarlo por e mail es cuando...
guardarlo en nuevo libro para enviarlo
... si es posible el macro que me da la opcion de elegir para enviarlo...
o guardarlo en una carpeta especifica
... y yo lo pego a un boton en la hoja y que solo me copia las hojas y yo
elijo por ejemplo hoja 1



-> unos comentarios 'previos', ya que al efectuar una copia de la hoja que
elijas...
es con relacion a tu intencion de 'pegar' botones y asignarles una
macro [supongo] -> en cada hoja <= OJO
a) o... las macros [y las claves] 'se van' junto con la hoja [si se
trata de botones de la barra 'cuadro de controles']
b) o... los botones 'se van' [pero] SIN los codigos y macros [si son
botones de la barra 'formularios'] lo cual... :-(

-> si te parece... haz unas pruebas con el siguiente codigo [el mismo...
pero... 'diferente'] :D
primero 'pregunta' si deseas [solo] guardar... o... guardar Y enviar
por email o... 'cancelar' la operacion
despues seleccionas la hoja que deseas guardar/enviar
y el codigo restante... hace 'lo propio' ;)

-> se conserva el 'supuesto' de que 'la hoja' tiene el nombre del nuevo
libro en la celda 'B5' [y que cada uno es distinto] -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
en un modulo de codigo 'normal' ==> Sub Guardar_Enviar()
Dim Clave As String, Enviar As Boolean
Clave = "K.M. ** Ve"
Select Case MsgBox("Selecciona la opcion de tu preferencia..." & vbCr & _
"Si / Yes =" & vbTab & "Guardar solamente" & vbCr & _
"No =" & vbTab & "Guardar y Enviar" & vbCr & _
"Cancelar:" & vbTab & "Cancelar la operacion", _
vbYesNoCancel + vbInformation, "Seleccionar Hoja para Guardar
/ Enviar...")
Case vbYes: Enviar = True
Case vbCancel: Exit Sub
End Select
With Application.CommandBars("Workbook Tabs").Controls(16)
If Right(.Caption, 3) = "..." Then .Execute Else .Parent.ShowPopup
End With
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
Range("a1").Select
Application.CutCopyMode = False
ActiveSheet.Protect Clave, True, True, True, False
With ActiveWorkbook
.Protect Clave, True, True
.SaveAs Range("b5"), xlWorkbookNormal
If Enviar Then .SendMail "", "aqui
esta el resumen'"
.Close
End With
End Sub

Respuesta Responder a este mensaje
#7 Héctor Miguel
16/12/2005 - 06:11 | Informe spam
hola, KM !

... el macro no esta guardado el archivo con el nombre que esta en la celda (B5)
y esta guardando bajo nombre Libro1... y esta guardado todo lo que esta en libro Excel
si es posible guardar solo por pagina 1, y no se donde esta guardando el libro que esta Generando
... si lo guardas en una ruta especifica la rita yo lo escribo en una celda (M1)= C:\Excel\PRESUPUESTO



[primero] el codigo tiene un 'error' [mio] por 'inversion' de las acciones en respuesta a la pregunta inicial [si / no] :-(
cambia las lineas con la instruccion del msgbox a...
Select Case MsgBox("Selecciona la opcion de tu preferencia..." & vbCr & _
"Si / Yes =" & vbTab & "Guardar y Enviar" & vbCr & _
"No =" & vbTab & "Guardar solamente" & vbCr & _
"Cancelar:" & vbTab & "Cancelar la operacion", _
vbYesNoCancel + vbInformation, "Seleccionar Hoja para Guardar / Enviar...")
Case vbYes: Enviar = True
Case vbCancel: Exit Sub
End Select

[segundo] el codigo 'supone' que el nombre del 'nuevo' libro esta en la celda 'B5' -> de la hoja que se ha de copiar -?-
-> si el caso es que dicho nombre esta en la celda 'B5' de alguna hoja 'maestra' [p.e. en la hoja1 del libro 'principal']...
habria que modificar la instruccion con el 'SaveAs' a +/- lo siguiente...
.SaveAs ThisWorkbook.Worksheets("hoja1").Range("b5"), xlWorkbookNormal

[tercero] la ubicacion donde se guarda un libro cuando SOLO se proporciona 'el nombre' [NO la ruta 'completa']...
-> es 'por omision' el directorio o carpeta 'actual'... o donde se abrio el libro 'mas reciente'... o 'mis documentos' -?-
-> suponiendo que la ruta 'deseada' se encuentra en la celda 'M1' del libro 'maestro' en la 'misma' hoja1...
1) es necesario que la 'terminacion' de la ruta sea el caracter 'separador' de rutas -> \
agregala al texto de la celda 'M1' por codigo... o cambia M1 a -> C:\Excel\PRESUPUESTO\
2) para no 'enredarte' con cambios 'aislados'... te paso el codigo completo [con los supuestos anteriores]...
le estoy agregando el '\' -> por codigo SOLO si fuera necesario <= OJO

si cualquire duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub Guardar_Enviar()
Dim Clave As String, NuevoLibro As String, Enviar As Boolean
Clave = "K.M. ** Ve"
With ThisWorkbook.Worksheets("hoja1")
NuevoLibro = .Range("m1")
NuevoLibro = NuevoLibro & IIf(Right(NuevoLibro, 1) = "\", "", "\") & .Range("b5")
End With
Select Case MsgBox("Selecciona la opcion de tu preferencia..." & vbCr & _
"Si / Yes =" & vbTab & "Guardar y Enviar" & vbCr & _
"No =" & vbTab & "Guardar solamente" & vbCr & _
"Cancelar:" & vbTab & "Cancelar la operacion", _
vbYesNoCancel + vbInformation, "Seleccionar Hoja para Guardar / Enviar...")
Case vbYes: Enviar = True
Case vbCancel: Exit Sub
End Select
With Application.CommandBars("Workbook Tabs").Controls(16)
If Right(.Caption, 3) = "..." Then .Execute Else .Parent.ShowPopup
End With
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
Range("a1").Select
Application.CutCopyMode = False
ActiveSheet.Protect Clave, True, True, True, False
With ActiveWorkbook
.Protect Clave, True, True
.SaveAs NuevoLibro, xlWorkbookNormal
If Enviar Then .SendMail "", "aqui esta el resumen'"
.Close
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida