Os comento, este es el código que tengo que meter dentro del funcionamiento de la macro
Código VBA:
Ver original
Sub Auto_Open() If Sheets("Sheet1").Cells(1, 34).Value = 0 Then If Sheets("Sheet1").Cells(3, 1).Value <> "" Then Datos.Show False DoEvents Application.Cursor = xlWait Application.ScreenUpdating = False 'Quitar el parpadeo de la pantalla Application.Calculation = xlCalculationManual Application.EnableEvents = False Dim cantidadFilas, contadorFilas, contador As Integer Dim valorSiguienteSolicitud, valorSolicitud As String Dim formatoFecha1 As Date cantidadFilas = 0 contadorFilas = 0 'calcular cuantas filas tiene ocupadas el excel en la página principal cantidadFilas = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row 'calcular la cantidad de filas que tiene la tabla que calcula la división filaDivision = 4 filaDivision = Sheets("División").Cells(Rows.Count, 2).End(xlUp).Row For contadorFilas = 3 To cantidadFilas DoEvents 'DIVISION (9) 'comprobar si hay datos en la columna de los paises para buscar la división If Sheets("Sheet1").Cells(cont, 9).Value <> "" Then 'COLUMNA DIVISIÓN For cont2 = 4 To filaDivision If Sheets("Sheet1").Cells(cont, 10).Value = Sheets("División").Cells(cont2, 2).Value Then If Sheets("División").Cells(cont2, 3).Value <> "" Then Sheets("Sheet1").Cells(cont, 9).Value = Sheets("División").Cells(cont2, 3).Value Else Sheets("Sheet1").Cells(cont, 9).Value = "" End If End If Next cont2 End If 'Fecha cierre If Sheets("Sheet1").Cells(contadorFilas, 21).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 21).Value = Format(Sheets("Sheet1").Cells(contadorFilas, 21).Value, "yyyy-mm-dd hh:mm:ss") Sheets("Sheet1").Cells(contadorFilas, 21).NumberFormat = "yyyy-mm-dd hh:mm:ss" End If 'Fecha límite oferta If Sheets("Sheet1").Cells(contadorFilas, 22).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 22).Value = Format(Sheets("Sheet1").Cells(contadorFilas, 22).Value, "yyyy-mm-dd hh:mm:ss") Sheets("Sheet1").Cells(contadorFilas, 22).NumberFormat = "yyyy-mm-dd hh:mm:ss" End If 'Presupuesto total If Sheets("Sheet1").Cells(contadorFilas, 23).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 23).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 23).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 23).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 23).Value = (Sheets("Sheet1").Cells(contadorFilas, 23).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 23).HorizontalAlignment = xlRight End If 'Presupuesto total € If Sheets("Sheet1").Cells(contadorFilas, 24).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 24).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 24).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 24).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 24).Value = (Sheets("Sheet1").Cells(contadorFilas, 24).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 24).HorizontalAlignment = xlRight End If 'Importe adjudicado If Sheets("Sheet1").Cells(contadorFilas, 25).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 25).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 25).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 25).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 25).Value = (Sheets("Sheet1").Cells(contadorFilas, 25).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 25).HorizontalAlignment = xlRight End If 'Importe adjudicado € If Sheets("Sheet1").Cells(contadorFilas, 26).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 26).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 26).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 26).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 26).Value = (Sheets("Sheet1").Cells(contadorFilas, 26).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 26).HorizontalAlignment = xlRight End If 'Ahorro If Sheets("Sheet1").Cells(contadorFilas, 27).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 27).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 27).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 27).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 27).Value = (Sheets("Sheet1").Cells(contadorFilas, 27).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 27).HorizontalAlignment = xlRight End If 'Ahorro € If Sheets("Sheet1").Cells(contadorFilas, 28).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 28).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 28).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 28).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 28).Value = (Sheets("Sheet1").Cells(contadorFilas, 28).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 28).HorizontalAlignment = xlRight End If 'Ahorro estrategico If Sheets("Sheet1").Cells(contadorFilas, 29).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 29).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 29).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 29).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 29).Value = (Sheets("Sheet1").Cells(contadorFilas, 29).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 29).HorizontalAlignment = xlRight End If 'Ahorro % If Sheets("Sheet1").Range(contadorFilas & cont) <> "" Then Sheets("Sheet1").Cells(contadorFilas, 30).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 30).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 30).NumberFormat = "#,##0.00%;-#,##0.00%" Sheets("Sheet1").Cells(contadorFilas, 30).Value = (Sheets("Sheet1").Cells(contadorFilas, 30).Value) / 100 Sheets("Sheet1").Cells(contadorFilas, 30).HorizontalAlignment = xlRight End If 'Moneda If Sheets("Sheet1").Cells(contadorFilas, 31).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 31).HorizontalAlignment = xlLeft End If 'Tipo de cambio If Sheets("Sheet1").Cells(contadorFilas, 32).Value <> "" Then Sheets("Sheet1").Cells(contadorFilas, 32).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 32).Value, ",", ".") Sheets("Sheet1").Cells(contadorFilas, 32).NumberFormat = "#,##0.00;-#,##0.00" Sheets("Sheet1").Cells(contadorFilas, 32).Value = (Sheets("Sheet1").Cells(contadorFilas, 32).Value) * 1 Sheets("Sheet1").Cells(contadorFilas, 32).HorizontalAlignment = xlRight End If Next contadorFilas For Each ws In Worksheets ws.Columns.AutoFit Next ws Datos.Hide Application.Cursor = xlDefault End If Sheets("Sheet1").Cells(1, 34).Value = 1 Columns(34).EntireColumn.Hidden = True ErrorHandler: Datos.Hide Application.Cursor = xlDefault Sheets("Sheet1").Cells(1, 34).Value = 1 Exit Sub End If End Sub
Lo que hago es ir a la pestaña programador en la que clico Record Macro y creo una macro con el nombre Auto_Open. al darle a aceptar me empieza a grabar la macro y es entonces cuando abro la macro y le doy a editar, que es donde introduzco todo el código que he escrito en la parte de arriba.
El problema viene a la hora de guardar que me lanza un mensaje que dice lo siguiente:
The following features cannos be saved in macro-fee workbooks:
VB project
To save a file with these features, click NO, and then choose a macro-enabled file type in the File type list.
No se a que se refiere con esto...
Alguien una mano?