Código funciona bien en excel 2010, pero en 2007 no

Hola que tal buen día, te saludo con mucho gusto!!!

El detalle es el siguiente, tengo estos dos códigos que funcionan perfectamente en excel 2010 pero en excel 2007 no, me imagino que debe de haber una equivalencia que pueda realizar lo que necesito! Pongo aquí los códigos.

Agradezco infinitamente su valiosísima ayuda!!!

Sub CreaReporte()
'Por.DAM
Sheets("CAPTURA").Activate
MiReporte = Range("O7")
Set l1 = ThisWorkbook
Sheets(Array("REPORTE MENSUAL", "BITACORA DE RECIBOS")).Copy
Application.DisplayAlerts = False
Sheets("REPORTE MENSUAL").Cells.Copy
Sheets("REPORTE MENSUAL").Select
Range("A1").Select
'Range("A1").PasteSpecial Paste:=xlValues
Sheets("BITACORA DE RECIBOS").Cells.Copy
Sheets("BITACORA DE RECIBOS").Select
Range("B2:M1000").Select
'Range("A1").PasteSpecial Paste:=xlValues
ActiveWorkbook.SaveAs Filename:=MiReporte & " REPORTE MENSUAL.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
l1.Activate
MsgBox "COPIA TERMINADA", vbInformation, "COPIAR"
End Sub

y este es el otro

Sub LIMPIARBITACORA()
Dim CONTRASENA As String
 Sheets("OPCIONES").Activate
 CONTRASENA = Range("H7")
ActiveSheet.Unprotect Password:=CONTRASENA
Dim RESPUESTA As Integer
MessageBox
RESPUESTA = MsgBox("¿ESTAS SEGURO QUE QUIERES BORRAR TODA LA INFORMACION?", vbCritical + vbYesNo, "AVISO IMPORTANTE")
'If RESPUESTA = "SI" Or RESPUESTA = "Si" Or RESPUESTA = "Sí" Or RESPUESTA = "si" Then
If RESPUESTA = 6 Then
'Sheets("BITACORA DE RECIBOS").Active
Range("B9", ActiveCell.SpecialCells(xlLastCell)).ClearContents
 Application.DisplayAlerts = False
 ActiveSheet.Protect Password:=CONTRASENA, DrawingObjects:=True, _
Contents:=True, Scenarios:=True
Else
 PARAR
 ActiveSheet.Protect Password:=CONTRASENA, DrawingObjects:=True, _
 Contents:=True, Scenarios:=True
 End If
End Sub

saludos y agradezco nuevamente!!!

Respuesta
1

La macro CreaReporte no tiene problemas en 2007, o qué error te envía y en qué línea.

La macro LIMPIARBITACORA, tuve que comentar estas líneas

MessageBox

PARAR

Probé la macro y si funciona, o qué error te envía y en qué línea

Ola que tal!

Pues realmente no me marca ningún error, pero no hace nada... solamente me cambia de hoja de cálculo

Pues si hace, copia 2 hojas a un libro nuevo

¿Dime qué quieres que haga?

Pero vamos macro por macro, por que las 2 funcionan, pero son cosas diferentes, resolvamos la macro1 y después revisamos la macro2

la primera: CreaReporte()

Solamente que copie las hojas REPORTE MENSUAL y BITÁCORA DE RECIBOS a un archivo nuevo, y que copie unicamente los valores (no formulas, no vínculos,) desde la celda A1 hasta M1000

Pues eso hacía, pero le pusieron apostrofe (comentando la línea), a estas líneas

'Range("A1").PasteSpecial Paste:=xlValues
'Range("A1").PasteSpecial Paste:=xlValues

Quita el apostrofe que está al principio de cada fila y prueba

ok, restableceré el código de ese método

Con respecto al otro que borra toda la información que hay desde la celda B9 y hasta donde tenga información... siempre y cuando desbloque antes de borrar y bloquee cuando termine de borrar!

La macro LIMPIARBITACORA, tuve que comentar estas líneas
MessageBox
Parar
Probé la macro y si funciona, o qué error te envía y en qué línea

es que realmente no me hace lo que el código... no se si estoy haciendo algo mal...

quiero borrar lo que hay en la hoja BITÁCORA DE RECIBOS desde B9,pero la contraseña que se necesita para desbloquear la página está en la hoja OPCIONES, a lo mejor ahi está mi error....

Cambia esto

Sheets("OPCIONES"). Activate
CONTRASEÑA = Range("H7")

por esto

CONTRASEÑA = Sheets("OPCIONES").Range("H7")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas