Buscar objetivo "automático"

19/09/2003 - 10:46 por ABC | Informe spam
Hola Grupo:

La función "Buscar objetivo" la utilizo con mucha frecuencia. He realizado
una macro sencillita para intentar automatizar el proceso pero sólo lo hace
en la fila en la que programé la macro. ¿Existe alguna manera de automatizar
esto para todas las filas?. No doy con ello y agradecería vuestras
sugerencias.

Muchas gracias y saludos.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
19/09/2003 - 11:22 | Informe spam
Quizás habría sido mejor que nos hubieras puesto el código que tienes. En cualquier caso, te pongo un ejemplo en el que se buscan los objetivos para que el rango C1:C10 tome el valor de 100 cambiando las celdas B1:B10

Sub BuscarObjetivos()
Dim intFila As Long

For intFila = 1 To 10
ActiveSheet.Cells(intFila, 3).GoalSeek goal:0, changingcell:=ActiveSheet.Cells(intFila, 2)
Next intFila
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel


"ABC" escribió en el mensaje news:%
Hola Grupo:

La función "Buscar objetivo" la utilizo con mucha frecuencia. He realizado
una macro sencillita para intentar automatizar el proceso pero sólo lo hace
en la fila en la que programé la macro. ¿Existe alguna manera de automatizar
esto para todas las filas?. No doy con ello y agradecería vuestras
sugerencias.

Muchas gracias y saludos.


Respuesta Responder a este mensaje
#2 Fernando Arroyo
19/09/2003 - 13:12 | Informe spam
Suponiendo que no hay espacios entre las filas y que los datos comiencen en la fila 2, el siguiente código debería servirte. La duda que tengo es si cuando dices "modificar los valores de la columna D al 25%" te refieres al 25% de la propia columna D. He supuesto que es así.


Sub BuscarObjetivos()
Dim intFila As Long
intFila = 2 'Se supone que la primera fila es de títulos.

With ActiveSheet
While Not IsEmpty(.Cells(intFila, 4))
.Cells(intFila, 4).GoalSeek goal:=.Cells(intFila, 4).Value * 0.25, changingcell:=.Cells(intFila, 2)
intFila = intFila + 1
Wend
End With
End Sub


Como veo que eres nuevo en esto de las macros, te digo lo que tienes que hacer:
- saca una copia del libro, "por si las flys" :-)
- abre la copia, activa la hoja sobre la que quieres que trabaje el código y pulsa Alt + F11
- ahora deberías estar en el editor de VBA. A la izquierda verás la ventana "Proyecto". Dependiendo de si tienes algún complemento instalado o no, o algún otro libro, puede que haya un solo VBAProject o varios. Haz click derecho sobre el que tiene como nombre VBAProject (NombreDelLibro) y selecciona Insertar->Módulo
- pega el código en la ventana de código (la más grande)
- cierra el editor de VBA
- haz Herramientas->Macro->Macros. La macro "BuscarObjetivos" debería estar seleccionada, puesto que es la única que hay. Dale a "Ejecutar".

Si hubiera espacios entre las filas, o no fuera éste el objetivo que buscas, o hubiera algún otro problema, dilo.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"ABC" escribió en el mensaje news:%
Gracias Fernando.
No me manejo con las macros, la hice grabando las pulsaciones que hacía.

Te explico mejor:

Necesito modificar los valores de la columna D al 25% modificando la columna
B teniendo en cuenta que cada fila representa un artículo.

¿Cómo tengo que hacer para escribir el texto que pones, con las
modificaciones de rango correspondiente, para que funcione?
Gracias

"Fernando Arroyo" escribió en el mensaje
news:uYmMD%
Quizás habría sido mejor que nos hubieras puesto el código que tienes. En
cualquier caso, te pongo un ejemplo en el que se buscan los objetivos para
que el rango C1:C10 tome el valor de 100 cambiando las celdas B1:B10

Sub BuscarObjetivos()
Dim intFila As Long

For intFila = 1 To 10
ActiveSheet.Cells(intFila, 3).GoalSeek goal:0,
changingcell:=ActiveSheet.Cells(intFila, 2)
Next intFila
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel


"ABC" escribió en el mensaje
news:%
> Hola Grupo:
>
> La función "Buscar objetivo" la utilizo con mucha frecuencia. He realizado
> una macro sencillita para intentar automatizar el proceso pero sólo lo
hace
> en la fila en la que programé la macro. ¿Existe alguna manera de
automatizar
> esto para todas las filas?. No doy con ello y agradecería vuestras
> sugerencias.
>
> Muchas gracias y saludos.
>
>


Respuesta Responder a este mensaje
#3 ABC
20/09/2003 - 13:39 | Informe spam
Muchas gracias Fernando, te envío el archivo.
Respuesta Responder a este mensaje
#4 ABC
20/09/2003 - 14:05 | Informe spam
Fernando, te he mando el archivo pero me lo devuelve el servidor. ¿Es un
mensaje automático tuyo o realmente no lo has recibido?. Lo he mandado a la
dirección de abajo pero sin el QUITA. Te transcribo el error:

________________________________________________________
The original message was received at Sat, 20 Sep 2003 13:53:01 +0200
from 213-0-200-124.dialup.nuria.telefonica-data.net [213.0.200.124]


(reason: 550 Relay not permitted / No such user)

... while talking to mx.wanadoo.es.:
RCPT To:






<<< 550 Relay not permitted / No such user
550 5.1.1 ... User unknown

________________________________________________________
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida