Botón Guardar

La pregunta es así porque esta instrucción eliminia las demás hoja de excel, es decir excel trae 3 hoja pero cuándo ejecuto esta instrucción guardar como y se abre el libro el solamente contiene 1 sola hoja. Se puede dejar las otras 2 hojas también
BOTÓN GUARDAR COMO (Indicar la Ruta)
Private Sub guardar_Click()
Dim wb
Dim ruta, carpeta, libro, texto As String
ruta = "C:\Documents and Settings\All Users\Documentos\AGROMETEOROLOGIA\"
carpeta = ActiveSheet.Range("H3").Value
libro = ActiveSheet.Range("A1").Value
texto = ruta & carpeta & "\" & libro & ".xls"
Application.ScreenUpdating = False
ActiveSheet.Copy
Application.DisplayAlerts = False
Set wb = ActiveWorkbook
'por error (ya existe archivo o nombre invalido) muestra ventana para cambiar nbre o ruta
On Error Resume Next
With wb
.SaveAs texto
Application.DisplayAlerts = True
.Close True
End With
Set wb = Nothing
Sheets("Hoja1").Select 'reemplaza por tu hoja
End Sub

1 respuesta

Respuesta
1
Mis comentarios se encuentran en negrilla.
Private Sub guardar_Click()
Dim wb
Dim ruta, carpeta, libro, texto As String
ruta = "C:\Documents and Settings\All Users\Documentos\AGROMETEOROLOGIA\"
carpeta = ActiveSheet.Range("H3").Value
libro = ActiveSheet.Range("A1").Value
texto = ruta & carpeta & "\" & libro & ".xls"
Application.ScreenUpdating = False
'ActiveSheet.Copy 'Por esto es que salva sólo una hoja
Application.DisplayAlerts = False
Set wb = ActiveWorkbook
'por error (ya existe archivo o nombre invalido) muestra ventana para cambiar nbre o ruta
On Error Resume Next
With wb
.SaveAs texto
Application.DisplayAlerts = True
.Close True
End With
Set wb = Nothing
Sheets("Hoja1").Select 'reemplaza por tu hoja
End Sub
Ok esta bien esta, pero no me indica donde lo deseo guardar. Que cada vez que lo modifique me indique donde lo dese guardar
De esta forma podrías hacerlo, no se si lo que buscas es algo más elaborado como una ventana para hallar la dirección, pues de ser así me parece que es lo mismo simplemente darle guardar como:
Private Sub guardar_Click()
Dim wb
Dim ruta, carpeta, libro, texto As String
ruta = InputBox("Ingrese la ubicación")
'ruta = "C:\Documents and Settings\All Users\Documentos\AGROMETEOROLOGIA\"
carpeta = ActiveSheet.Range("H3").Value
libro = ActiveSheet.Range("A1").Value
texto = ruta & carpeta & "\" & libro & ".xls"
Application.ScreenUpdating = False
'ActiveSheet.Copy 'Por esto es que salva sólo una hoja
Application.DisplayAlerts = False
Set wb = ActiveWorkbook
'por error (ya existe archivo o nombre invalido) muestra ventana para cambiar nbre o ruta
On Error Resume Next
With wb
.SaveAs texto
Application.DisplayAlerts = True
.Close True
End With
Set wb = Nothing
Sheets("Hoja1").Select 'reemplaza por tu hoja
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas