Foros del Web » Soporte técnico » Ofimática »

[SOLUCIONADO] Crear macro auto_open

Estas en el tema de Crear macro auto_open en el foro de Ofimática en Foros del Web. Hola tengo un problema a la hora de crear una macro auto_open. Os comento, este es el código que tengo que meter dentro del funcionamiento ...
  #1 (permalink)  
Antiguo 04/12/2014, 09:32
 
Fecha de Ingreso: abril-2012
Mensajes: 448
Antigüedad: 7 años, 5 meses
Puntos: 7
Crear macro auto_open

Hola tengo un problema a la hora de crear una macro auto_open.

Os comento, este es el código que tengo que meter dentro del funcionamiento de la macro
Código VBA:
Ver original
  1. Sub Auto_Open()
  2.    
  3.     If Sheets("Sheet1").Cells(1, 34).Value = 0 Then        
  4.         If Sheets("Sheet1").Cells(3, 1).Value <> "" Then            
  5.             Datos.Show False
  6.             DoEvents            
  7.             Application.Cursor = xlWait            
  8.             Application.ScreenUpdating = False 'Quitar el parpadeo de la pantalla
  9.             Application.Calculation = xlCalculationManual
  10.             Application.EnableEvents = False    
  11.             Dim cantidadFilas, contadorFilas, contador As Integer
  12.             Dim valorSiguienteSolicitud, valorSolicitud As String
  13.             Dim formatoFecha1 As Date
  14.             cantidadFilas = 0
  15.             contadorFilas = 0    
  16.             'calcular cuantas filas tiene ocupadas el excel en la página principal
  17.             cantidadFilas = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row            
  18.             'calcular la cantidad de filas que tiene la tabla que calcula la división
  19.             filaDivision = 4
  20.             filaDivision = Sheets("División").Cells(Rows.Count, 2).End(xlUp).Row    
  21.             For contadorFilas = 3 To cantidadFilas                
  22.                 DoEvents
  23.                
  24.                 'DIVISION (9)
  25.                 'comprobar si hay datos en la columna de los paises para buscar la división
  26.                 If Sheets("Sheet1").Cells(cont, 9).Value <> "" Then
  27.                     'COLUMNA DIVISIÓN
  28.                     For cont2 = 4 To filaDivision
  29.                         If Sheets("Sheet1").Cells(cont, 10).Value = Sheets("División").Cells(cont2, 2).Value Then
  30.                             If Sheets("División").Cells(cont2, 3).Value <> "" Then
  31.                                 Sheets("Sheet1").Cells(cont, 9).Value = Sheets("División").Cells(cont2, 3).Value
  32.                             Else
  33.                                 Sheets("Sheet1").Cells(cont, 9).Value = ""
  34.                             End If
  35.                         End If
  36.                     Next cont2
  37.                 End If
  38.                 'Fecha cierre
  39.                 If Sheets("Sheet1").Cells(contadorFilas, 21).Value <> "" Then
  40.                     Sheets("Sheet1").Cells(contadorFilas, 21).Value = Format(Sheets("Sheet1").Cells(contadorFilas, 21).Value, "yyyy-mm-dd hh:mm:ss")
  41.                     Sheets("Sheet1").Cells(contadorFilas, 21).NumberFormat = "yyyy-mm-dd hh:mm:ss"
  42.                 End If
  43.                 'Fecha límite oferta
  44.                 If Sheets("Sheet1").Cells(contadorFilas, 22).Value <> "" Then
  45.                     Sheets("Sheet1").Cells(contadorFilas, 22).Value = Format(Sheets("Sheet1").Cells(contadorFilas, 22).Value, "yyyy-mm-dd hh:mm:ss")
  46.                     Sheets("Sheet1").Cells(contadorFilas, 22).NumberFormat = "yyyy-mm-dd hh:mm:ss"
  47.                 End If
  48.                 'Presupuesto total
  49.                 If Sheets("Sheet1").Cells(contadorFilas, 23).Value <> "" Then
  50.                     Sheets("Sheet1").Cells(contadorFilas, 23).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 23).Value, ",", ".")
  51.                     Sheets("Sheet1").Cells(contadorFilas, 23).NumberFormat = "#,##0.00;-#,##0.00"
  52.                     Sheets("Sheet1").Cells(contadorFilas, 23).Value = (Sheets("Sheet1").Cells(contadorFilas, 23).Value) * 1
  53.                     Sheets("Sheet1").Cells(contadorFilas, 23).HorizontalAlignment = xlRight
  54.                 End If
  55.                 'Presupuesto total €
  56.                 If Sheets("Sheet1").Cells(contadorFilas, 24).Value <> "" Then
  57.                     Sheets("Sheet1").Cells(contadorFilas, 24).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 24).Value, ",", ".")
  58.                     Sheets("Sheet1").Cells(contadorFilas, 24).NumberFormat = "#,##0.00;-#,##0.00"
  59.                     Sheets("Sheet1").Cells(contadorFilas, 24).Value = (Sheets("Sheet1").Cells(contadorFilas, 24).Value) * 1
  60.                     Sheets("Sheet1").Cells(contadorFilas, 24).HorizontalAlignment = xlRight
  61.                 End If
  62.                 'Importe adjudicado
  63.                 If Sheets("Sheet1").Cells(contadorFilas, 25).Value <> "" Then
  64.                     Sheets("Sheet1").Cells(contadorFilas, 25).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 25).Value, ",", ".")
  65.                     Sheets("Sheet1").Cells(contadorFilas, 25).NumberFormat = "#,##0.00;-#,##0.00"
  66.                     Sheets("Sheet1").Cells(contadorFilas, 25).Value = (Sheets("Sheet1").Cells(contadorFilas, 25).Value) * 1
  67.                     Sheets("Sheet1").Cells(contadorFilas, 25).HorizontalAlignment = xlRight
  68.                 End If
  69.                 'Importe adjudicado €
  70.                 If Sheets("Sheet1").Cells(contadorFilas, 26).Value <> "" Then
  71.                     Sheets("Sheet1").Cells(contadorFilas, 26).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 26).Value, ",", ".")
  72.                     Sheets("Sheet1").Cells(contadorFilas, 26).NumberFormat = "#,##0.00;-#,##0.00"
  73.                     Sheets("Sheet1").Cells(contadorFilas, 26).Value = (Sheets("Sheet1").Cells(contadorFilas, 26).Value) * 1
  74.                     Sheets("Sheet1").Cells(contadorFilas, 26).HorizontalAlignment = xlRight
  75.                 End If
  76.                 'Ahorro
  77.                 If Sheets("Sheet1").Cells(contadorFilas, 27).Value <> "" Then
  78.                     Sheets("Sheet1").Cells(contadorFilas, 27).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 27).Value, ",", ".")
  79.                     Sheets("Sheet1").Cells(contadorFilas, 27).NumberFormat = "#,##0.00;-#,##0.00"
  80.                     Sheets("Sheet1").Cells(contadorFilas, 27).Value = (Sheets("Sheet1").Cells(contadorFilas, 27).Value) * 1
  81.                     Sheets("Sheet1").Cells(contadorFilas, 27).HorizontalAlignment = xlRight
  82.                 End If
  83.                 'Ahorro €
  84.                 If Sheets("Sheet1").Cells(contadorFilas, 28).Value <> "" Then
  85.                     Sheets("Sheet1").Cells(contadorFilas, 28).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 28).Value, ",", ".")
  86.                     Sheets("Sheet1").Cells(contadorFilas, 28).NumberFormat = "#,##0.00;-#,##0.00"
  87.                     Sheets("Sheet1").Cells(contadorFilas, 28).Value = (Sheets("Sheet1").Cells(contadorFilas, 28).Value) * 1
  88.                     Sheets("Sheet1").Cells(contadorFilas, 28).HorizontalAlignment = xlRight
  89.                 End If
  90.                 'Ahorro estrategico
  91.                 If Sheets("Sheet1").Cells(contadorFilas, 29).Value <> "" Then
  92.                     Sheets("Sheet1").Cells(contadorFilas, 29).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 29).Value, ",", ".")
  93.                     Sheets("Sheet1").Cells(contadorFilas, 29).NumberFormat = "#,##0.00;-#,##0.00"
  94.                     Sheets("Sheet1").Cells(contadorFilas, 29).Value = (Sheets("Sheet1").Cells(contadorFilas, 29).Value) * 1
  95.                     Sheets("Sheet1").Cells(contadorFilas, 29).HorizontalAlignment = xlRight
  96.                 End If
  97.                 'Ahorro %
  98.                 If Sheets("Sheet1").Range(contadorFilas & cont) <> "" Then
  99.                     Sheets("Sheet1").Cells(contadorFilas, 30).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 30).Value, ",", ".")
  100.                     Sheets("Sheet1").Cells(contadorFilas, 30).NumberFormat = "#,##0.00%;-#,##0.00%"
  101.                     Sheets("Sheet1").Cells(contadorFilas, 30).Value = (Sheets("Sheet1").Cells(contadorFilas, 30).Value) / 100
  102.                     Sheets("Sheet1").Cells(contadorFilas, 30).HorizontalAlignment = xlRight
  103.                 End If
  104.                 'Moneda
  105.                 If Sheets("Sheet1").Cells(contadorFilas, 31).Value <> "" Then
  106.                     Sheets("Sheet1").Cells(contadorFilas, 31).HorizontalAlignment = xlLeft
  107.                 End If
  108.                 'Tipo de cambio
  109.                 If Sheets("Sheet1").Cells(contadorFilas, 32).Value <> "" Then
  110.                     Sheets("Sheet1").Cells(contadorFilas, 32).Value = Replace(Sheets("Sheet1").Cells(contadorFilas, 32).Value, ",", ".")
  111.                     Sheets("Sheet1").Cells(contadorFilas, 32).NumberFormat = "#,##0.00;-#,##0.00"
  112.                     Sheets("Sheet1").Cells(contadorFilas, 32).Value = (Sheets("Sheet1").Cells(contadorFilas, 32).Value) * 1
  113.                     Sheets("Sheet1").Cells(contadorFilas, 32).HorizontalAlignment = xlRight
  114.                 End If
  115.             Next contadorFilas            
  116.             For Each ws In Worksheets
  117.                  ws.Columns.AutoFit
  118.             Next ws            
  119.             Datos.Hide            
  120.             Application.Cursor = xlDefault            
  121.         End If        
  122.         Sheets("Sheet1").Cells(1, 34).Value = 1
  123.         Columns(34).EntireColumn.Hidden = True
  124. ErrorHandler:
  125.     Datos.Hide
  126.     Application.Cursor = xlDefault    
  127.     Sheets("Sheet1").Cells(1, 34).Value = 1    
  128.     Exit Sub    
  129.     End If
  130. 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?
__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 05/12/2014, 01:28
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 13 años, 1 mes
Puntos: 56
Respuesta: Crear macro auto_open

Hola,

Estás grabando en un archivo xlsx o en uno xlsm, porque es en este último tipo de archivo en el que debes grabar la macro si trabajas con las versiones 2007 y posteriores.

Saludos!!
  #3 (permalink)  
Antiguo 09/12/2014, 04:15
 
Fecha de Ingreso: abril-2012
Mensajes: 448
Antigüedad: 7 años, 5 meses
Puntos: 7
Respuesta: Crear macro auto_open

vale era eso!! anda que, mi cabeza la semana pasada ya necesitaba vacaciones.

Gracias
__________________
Gracias por todo;

Un saludo

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:58.