Excel - Macro Solver

 
Vista:

Macro Solver

Publicado por Franco Grandi (30 intervenciones) el 05/12/2006 14:45:28
Hola, tengo un problema, cuando ejecuto una macro me dice Error de Compilacion: No se ha definido Sub o Function, es una macro que me resuelve un Solver en una planilla de calculo.
A continuación la copio, agradeceria si alguien me puede ayudar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Sub resolvedor()
'
' resolvedor Macro
' Macro grabada el 02/12/2006 por Frenco
'
 
'
    SolverAceptar definirCelda:="$E$21", valorMáxMín:=3, valorDe:="0", _
        celdasCambiantes:="$B$32,$B$54,$B$88,$B$134,$B$193"
    SolverAgregar referenciaCelda:="$G$132", relación:=2, Formula:="$G$190"
    SolverAceptar definirCelda:="$E$21", valorMáxMín:=3, valorDe:="0", _
        celdasCambiantes:="$B$32,$B$54,$B$88,$B$134,$B$193"
    SolverEliminar referenciaCelda:="$G$132", relación:=2, Formula:="$G$190"
    SolverAceptar definirCelda:="$E$21", valorMáxMín:=3, valorDe:="0", _
        celdasCambiantes:="$B$32,$B$54,$B$88,$B$134,$B$193"
    SolverAgregar referenciaCelda:="$G$190", relación:=2, Formula:="$G$261"
    SolverAceptar definirCelda:="$E$21", valorMáxMín:=3, valorDe:="0", _
        celdasCambiantes:="$B$32,$B$54,$B$88,$B$134,$B$193"
    SolverResolver
    ActiveWindow.SmallScroll Down:=-30
    Application.Run "pretamo.xls!resolvedor"
    Range("E22").Select
    ActiveWorkbook.Save
    ActiveWindow.SmallScroll Down:=-9
    Sheets("Cotiz").Select
    ActiveWindow.SmallScroll Down:=-57
    Sheets("Max").Select
    ActiveWindow.SmallScroll Down:=-3
    Application.CommandBars("Reviewing").Visible = False
    ActiveWindow.SmallScroll Down:=3
    Application.CommandBars("Drawing").Visible = False
    ActiveWindow.SmallScroll Down:=-9
    Sheets("Max").Select
    ActiveWindow.SmallScroll Down:=-12
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "1510"
    Range("B5").Select
    ActiveCell.FormulaR1C1 = "122"
    Range("C5").Select
    ActiveCell.FormulaR1C1 = "11"
    Range("D5").Select
    ActiveCell.FormulaR1C1 = "11"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "44"
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "55"
    Range("E22").Select
    ActiveCell.FormulaR1C1 = "558"
    Range("E23").Select
    ActiveCell.FormulaR1C1 = "12"
    Range("E24").Select
    Sheets("12").Select
    ActiveWindow.SmallScroll Down:=-18
    Sheets("Max").Select
    ActiveWindow.SmallScroll Down:=-6
    Sheets("Max").Select
    Range("E23").Select
    ActiveCell.FormulaR1C1 = "59"
    Range("E24").Select
    Sheets("12").Select
    ActiveWindow.SmallScroll Down:=-3
    Range("E20").Select
    ActiveCell.FormulaR1C1 = "=R17C2*(R12C2-SUM(R[-1]C4:R19C[-1]))"
    Range("E22").Select
    ActiveCell.FormulaR1C1 = "=R17C2*(R12C2-SUM(R20C4:R[-1]C[-1]))"
    Range("E26").Select
    ActiveWindow.SmallScroll Down:=15
    Sheets("24").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("36").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("48").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("60").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("Max").Select
    ActiveWindow.SmallScroll Down:=-12
    Sheets("Max").Select
    ActiveWindow.SmallScroll Down:=-6
    Application.Run "pretamo.xls!Macro1"
    Application.Run "pretamo.xls!Macro1"
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "1000"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "250"
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "25"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "1000"
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "1000"
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "100"
    Range("B23").Select
    ActiveCell.FormulaR1C1 = "400"
    Range("E22").Select
    ActiveCell.FormulaR1C1 = "4350"
    Range("E23").Select
    ActiveCell.FormulaR1C1 = "12"
    Range("E24").Select
    Application.WindowState = xlMinimized
    ActiveWindow.SmallScroll Down:=6
    Application.Run _
        "'Cotizador Plan Sueldo 11102006.XLS'!Listadesplegable2_AlCambiar"
    ActiveWindow.SmallScroll Down:=51
    Range("B66").Select
    ActiveCell.FormulaR1C1 = "500"
    Range("B67").Select
    ActiveWindow.SmallScroll Down:=-48
    Application.Run _
        "'Cotizador Plan Sueldo 11102006.XLS'!Listadesplegable2_AlCambiar"
    ActiveWindow.SmallScroll Down:=-3
    Application.Run _
        "'Cotizador Plan Sueldo 11102006.XLS'!Listadesplegable2_AlCambiar"
    ActiveWindow.SmallScroll Down:=54
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "60"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "48"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "12"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "24"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "36"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "48"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = "60"
    Range("B68").Select
    ActiveWindow.SmallScroll Down:=-51
    Application.Run _
        "'Cotizador Plan Sueldo 11102006.XLS'!Listadesplegable2_AlCambiar"
    ActiveWindow.SmallScroll Down:=54
    Sheets("PRINCIPAL").Select
    ActiveWindow.SmallScroll Down:=-63
    Application.Run _
        "'Cotizador Plan Sueldo 11102006.XLS'!Listadesplegable2_AlCambiar"
    Sheets("Detalle Ctas. P. P.").Select
    Windows("pretamo.xls").Activate
    ActiveWindow.SmallScroll Down:=-24
    Windows("Cotizador Plan Sueldo 11102006.XLS").Activate
    Sheets("PRINCIPAL").Select
    ActiveWindow.SmallScroll Down:=57
    Windows("pretamo.xls").Activate
    Application.WindowState = xlMinimized
    Windows("Cotizador Plan Sueldo 11102006.XLS").Activate
    Range("B66").Select
    ActiveCell.FormulaR1C1 = "4351"
    Range("B67").Select
    Windows("pretamo.xls").Activate
    Windows("Cotizador Plan Sueldo 11102006.XLS").Activate
    Windows("pretamo.xls").Activate
    Windows("Cotizador Plan Sueldo 11102006.XLS").Activate
    ActiveCell.FormulaR1C1 = "12"
    Range("B68").Select
    ActiveWindow.SmallScroll Down:=-15
    ActiveWindow.Close
    Application.WindowState = xlMinimized
    ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

RE:Macro Solver

Publicado por Dante (28 intervenciones) el 05/12/2006 17:07:23
Por lo que se puede apreciar estás intentando usar el complemento solver dentro de una macro, lo cual "SolverAceptar" es como una función que no está definida y por lo tanto excel no sabe que hacer....En la misma ventana de VBA ve a Herramientas, luego a Referencias y activa la casilla SOLVER, ahora corre tu macro y nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Franco Grandi (30 intervenciones) el 06/12/2006 02:25:00
tenes razon, ahora funciona. muchas gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro Solver

Publicado por Daniel (3 intervenciones) el 05/03/2008 13:36:17
Al que pueda ayudarme!! ... cuando ejecuto una macro me dice Error de Compilacion: No se ha definido Sub o Function, es una macro que me resuelve un Solver en una planilla de calculo. Leí el problema de otra persona que le sucedía lo mismo y lo que tenía que hacer era entrar a HERRAMIENTAS y en REFERENCIAS seleccionar SOLVER.. Mi problema es que en ese listado no encuento la opción SOLVER y cuando lo busco en EXAMINAR.. el archivo SOLVER32.dll, me sale una ventana con el siguiente contenido: NO SE PUEDE AGREGAR REFERENCIA AL ARCHIVO ESPECIFICADO.. Que puedo hacer??

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Deuda_solver()
'
' Deuda_solver Macro
' Macro grabada el 04-03-2008 por daniel.saavedra
'
' Acceso directo: CTRL+r
'
    SolverAceptar definirCelda:="$K$440", valorMáxMín:=2, valorDe:="0", _
        celdasCambiantes:="$G$11"
    SolverAgregar referenciaCelda:="$G$11", relación:=3, Formula:="0"
    SolverAgregar referenciaCelda:="$K$62", relación:=3, Formula:="0"
    SolverAgregar referenciaCelda:="$K$75", relación:=3, Formula:="0"
    SolverAceptar definirCelda:="$K$440", valorMáxMín:=2, valorDe:="0", _
        celdasCambiantes:="$G$11"
    SolverResolver
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por rene (1 intervención) el 22/07/2008 21:47:31
coloca ver todos los archivos, *.*
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Mastersierra (1 intervención) el 24/08/2009 01:59:40
entrar a HERRAMIENTAS y en REFERENCIAS seleccionar SOLVER.. Mi problema es que en ese listado no encuento la opción SOLVER y cuando lo busco en EXAMINAR, seleccionas *.* y eliges Solver.XLA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro Solver

Publicado por byron (2 intervenciones) el 04/10/2019 15:21:16
amigos tengo esta macro diseñada y me da el mismo error que ustedes:::: me pueden ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub calcular_solver()
'
' calcular_solver Macro
'
 
'
    SolverOk SetCell:="$M$21", MaxMinVal:=1, ValueOf:=372969, ByChange:= _
        "$D$23:$G$23,$E$24:$H$24,$F$25:$H$25", Engine:=2, EngineDesc:="Simplex LP"
    SolverAdd CellRef:="$L$23", Relation:=2, FormulaText:="$N$23"
    SolverAdd CellRef:="$L$24", Relation:=2, FormulaText:="$N$24"
    SolverAdd CellRef:="$L$25", Relation:=2, FormulaText:="$N$25"
    SolverAdd CellRef:="$L$26", Relation:=1, FormulaText:="$N$26"
    SolverAdd CellRef:="$L$27", Relation:=1, FormulaText:="$N$27"
    SolverAdd CellRef:="$L$28", Relation:=1, FormulaText:="$N$28"
    SolverAdd CellRef:="$L$29", Relation:=1, FormulaText:="$N$29"
    SolverAdd CellRef:="$L$30", Relation:=1, FormulaText:="$N$30"
    SolverOk SetCell:="$M$21", MaxMinVal:=1, ValueOf:=372969, ByChange:= _
        "$D$23:$G$23,$E$24:$H$24,$F$25:$H$25", Engine:=2, EngineDesc:="Simplex LP"
    SolverOk SetCell:="$M$21", MaxMinVal:=1, ValueOf:=372969, ByChange:= _
        "$D$23:$G$23,$E$24:$H$24,$F$25:$H$25", Engine:=2, EngineDesc:="Simplex LP"
    SolverSolve
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Sebastian Daiber (1 intervención) el 29/11/2008 23:22:25
Yo tenía el mismo problema, y con este comentario lo pude solucionar en seguida, ¡muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por JAIME CARRILLO (1 intervención) el 03/11/2017 18:39:05
Excelente Respuesta,me sirvió a mi también.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Marcelo (1 intervención) el 09/12/2017 16:02:17
Sos un capo!!!! funcionó
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

RE:Macro Solver

Publicado por byron (2 intervenciones) el 03/10/2019 21:52:39
tengo el mismo problema, ejecuto esta macro y me da el mismo error....probe las opciones que publicas pero no me funciona..

1
2
3
4
5
6
7
8
9
10
11
12
Sub calcular()
'
' calcular Macro
'
 
'
    SolverOk SetCell:="$M$21", MaxMinVal:=1, ValueOf:=372969, ByChange:= _
        "$D$23:$G$23,$E$24:$H$24,$F$25:$H$25", Engine:=2, EngineDesc:="Simplex LP"
    SolverOk SetCell:="$M$21", MaxMinVal:=1, ValueOf:=372969, ByChange:= _
        "$D$23:$G$23,$E$24:$H$24,$F$25:$H$25", Engine:=2, EngineDesc:="Simplex LP"
    SolverSolve
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Mari (1 intervención) el 16/06/2010 21:13:01
Muchas gracias, efectivamente sirvió la solución que diste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Enrique (1 intervención) el 16/04/2011 18:03:34
tengo el mismo problema, he probado las soluciones mencionadas respecto a usar Referencia y Solver se encuentra activo, pero sigue dandome el mismo error "No se ha definido Sub o Function", agradece mucho vuetra ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Solver

Publicado por Jorge (2 intervenciones) el 04/10/2016 10:47:25
Si has probado a hacer lo que han dicho arriba:
1
2
VBA
Herramientas > Referencias > Activar Solver

y no te funciona, debe ser de otra función que tendrás que activar y usas..

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar