Plantilla de Excel 2003, no funcional con Excel 2007 y superior?
al abrir el primer filtro para que se genere el la numeración automática ocurre el siguiente problema con la macro. (nota, "ActiveWorkbook.SaveAs FileName:=NombreArchivo" se pone en color amarillo)
' Asinar nombre archivo de paso (Calc1) y extensión a variable
NombreArchivoPaso = Range("L84") & ".xls"
' Guardar cotiz de paso (Calc1.xls)
NombreArchivo = Range("L83")
ActiveWorkbook.SaveAs FileName:=NombreArchivo
' Generar el Nº de la cotización
Windows("NoCotiz.xls").Activate
Sheets("NoCotiz").Select
Range("B5") = Range("B5") + 1
' Copiar Nº de cotización
Range("B5").Select
Selection.Copy
Sheets("NoCotiz").Select
' Volver al archivo de paso Calc1.xls
Windows(NombreArchivoPaso).Activate
Sheets("base").Select
' Pegar Nº de cotización desde LisCliet
Range("Z2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
' Guardar archivo de paso Calc1.xls con nombre correcto
NombreArchivo = Range("L79")
ActiveWorkbook.SaveAs FileName:=NombreArchivo
' Eliminar archivo de paso (Calc1)
NombreArchivo = Range("L83") & ".xls"
Kill (NombreArchivo)
' Desplegar mensaje si cotiz existe (tiene Nº)
ElseIf Range("Z2") > 0 Then
strMensaje = "La cotización actual ya tiene un Nº (" & Range("Z2") & "), si quiere copiarla con un nuevo Nº, presione el botón 'Si'"
strTitulo = "orgNet"
IngRespuesta = MsgBox(strMensaje, vbYesNo + vbExclamation + vbDefaultButton2, strTitulo)
If IngRespuesta = vbYes Then
' Actualizar cliente/interesado
Range("D3") = Range("L31")
Range("D8") = Range("L32")
' Chequear RUT
If Range("V32") < 10 Then
strMensaje = "Falta el RUT!" + vbCrLf + " " + vbCrLf + "El archivo actual se cancelará. Usted debe ingresar el RUT en la lista de clientes"
strTitulo = "OrgNet"
IngRespuesta = MsgBox(strMensaje, vbOKOnly + vbExclamation, strTitulo)
Range("D3") = "" ' neutralizar Raz. Soc.
Range("D8") = "" ' neutralizar RUT
ActiveWorkbook.Close
End If
' Asinar nombre archivo de paso (Calc1) y extensión a variable
NombreArchivoPaso = Range("L84") & ".xls"
' Guardar cotiz de paso (Calc1.xls)
NombreArchivo = Range("L83")
ActiveWorkbook.SaveAs FileName:=NombreArchivo
' Generar el Nº de la cotización
Windows("NoCotiz.xls").Activate
Sheets("NoCotiz").Select
Range("B5") = Range("B5") + 1
' Copiar Nº de cotización
Range("B5").Select
Selection.Copy
Sheets("NoCotiz").Select
' Volver al archivo de paso Calc1.xls
Windows(NombreArchivoPaso).Activate
Sheets("base").Select
' Pegar Nº de cotización desde LisCliet
Range("Z2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
' Neutralizar código MAIL (código 1 = mail no existe)
Sheets("cotiz").Select
Range("Y2") = 1
Sheets("base").Select
' Guardar cotización Calc1.xls con nombre correcto
NombreArchivo = Range("L79")
ActiveWorkbook.SaveAs FileName:=NombreArchivo
' Eliminar archivo de paso (Calc1)
NombreArchivo = Range("L83") & ".xls"
Kill (NombreArchivo)
ElseIf IngRespuesta = vbNo Then
' Actualizar cliente/interesado y RUT
Range("D3") = Range("L31")
Range("D8") = Range("L32")
End If
End If
End If
End Sub