Crear nueva hoja con datos añadidos por medio de Macro más almacenamiento determinado.

Tengo una tabla terminada (Machote), se va llenando de datos al pasar el día, me gustaría que hubiese un botón que al presionarlo se guardara lo trabajado en ése día y se creara un nuevo libro conteniendo los datos trabajados y el nombre del archivo guardado fuera la fecha y hora en que se presiona el botón.

De la misma forma, en el machote no se pueden guardar cambios para evitar modificaciones.

Saludos!

1 Respuesta

Respuesta
1

Si lo que Necesitas es que se vaya Creando una Nueva Hoja puedes utilizar la Siguiente Macros:
Sub HojaInputBox()
On Error GoTo x
Dim nombreHoja As String
nombreHoja = InputBox("Escriba un nombre para la nueva hoja:" & vbNewLine & "dd mmm aaaa" & vbNewLine & "Ejemplo: 14 feb 2013")
If nombreHoja = "" Then Exit Sub
Dim hoja As Worksheet
Set hoja = Sheets.Add
hoja.Name = nombreHoja
ActiveSheet.Select
ActiveSheet.Move after:=Sheets(3)
Exit Sub
x:
MsgBox "Hubo Error, Posibles Causas" & vbNewLine & "No se Proporciono Nombre de Hoja" & vbNewLine & "Ya existe hoja con ese nombre", 0, ""
End Sub

Ok, apenas estoy empezando a entenderle a esto de las macros, entiendo que con el código se crea una nueva hoja en el mismo libro. Pero cómo se puede crear un nuevo libro idéntico (con los datos ya escritos en la "Principal") a partir de la macro?

Intenta con este, y cambiale el nombre "en la maros" como se llama tu hoja.
Sub HojaInputBox()
On Error GoTo x
Dim nombreHoja As String
nombreHoja = InputBox("Escriba un nombre para la nueva hoja:" & vbNewLine & "dd mmm aaaa" & vbNewLine & "Ejemplo: 14 feb 2013")
If nombreHoja = "" Then Exit Sub
Dim hoja As Worksheet
Set hoja = Sheets.Add
hoja.Name = nombreHoja
ActiveSheet.Select
ActiveSheet.Move after:=Sheets(3)
'
' copiartodo Macro
'
'
Sheets("Machote").Select
Cells.Select
Selection.Copy
ActiveSheet.Next.Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1:B1").Select
ActiveSheet.Previous.Select
Range("a1:b1").Select
Application.CutCopyMode = False
Exit Sub
x:
MsgBox "Hubo Error, Posibles Causas" & vbNewLine & "No se Proporciono Nombre de Hoja" & vbNewLine & "Ya existe hoja con ese nombre", 0, ""
End Sub

Asigné macro, di nombre, aparece ventana, me pide fecha para nombrar hoja y marca error.

Por otro lado, quito la parte de agregar una hoja de más al libro, selecciono desde la acción de macros, determino el nombre declarado, corro y me salta este error.

"Error de compilación:

El procedimiento externo no es válido."

Tendrás mail para comunicarnos más fácilmente?

[email protected]
Enviame una muestra de tu archivo ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas