¿Cómo se trabaja con rutinas en Excel?

10/04/2006 - 21:32 por Carlos Morales | Informe spam
Buen Dia, tarde o noche dependiendo la hora en que se este leyendo esta
pregunta:
tengo formatos en excel en los cuales necesito que el curso se mueva por
ejemplo asi:
Despues de haber ingresado un dato y oprimir "enter" que se mueva 2 columnas
a la derecha, ingreso otro dato, "enter" que se mueva hacia abajo 2 lineas y
a la izquierda 3 columnas, es esto posible en excel ? y como se hace ?

Preguntas similare

Leer las respuestas

#1 Valentín Playá
11/04/2006 - 00:24 | Informe spam
Carlos,

esto hay que hacerlo usando los eventos de Excel y poniendo el código
que haga lo que tu quieras.

En tu caso creo que debes usar el evento Change de la Hoja. Vete a
Herramientas/Macro/Editor de Visual Basic. A la izquierda de la
pantalla te aparecerá la ventana del Explorador de proyectos, haz
doble click en la hoja en la que quieres hacer lo que nos cuentas.

Si después quieres seguir adelante dínoslo y lo intentaremos.

Saludos,

Valentín Playá
Sonotronic S.A.
Madrid, España
Respuesta Responder a este mensaje
#2 Carlos Morales
11/04/2006 - 00:40 | Informe spam
y ahora que debo de hacer?

"Valentín Playá" escribió:

Carlos,

esto hay que hacerlo usando los eventos de Excel y poniendo el código
que haga lo que tu quieras.

En tu caso creo que debes usar el evento Change de la Hoja. Vete a
Herramientas/Macro/Editor de Visual Basic. A la izquierda de la
pantalla te aparecerá la ventana del Explorador de proyectos, haz
doble click en la hoja en la que quieres hacer lo que nos cuentas.

Si después quieres seguir adelante dínoslo y lo intentaremos.

Saludos,

Valentín Playá
Sonotronic S.A.
Madrid, España


Respuesta Responder a este mensaje
#3 Valentín Playá
11/04/2006 - 01:00 | Informe spam
Hola Carlos,

Si donde te he dicho antes pegas este codigo veras que cuando pones un
5 en cualquier celda del libro te selecciona la celda I9 (fila 9,
columna 9) y le pone un valor de 1111.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 5 Then
Cells(9, 9).Select
Cells(9, 9) = 1111

End If
End Sub

Ahora hay que adaptar este codigo a lo que quieras hacer.

Ya me dirás.

Saludos,

Valentín
Respuesta Responder a este mensaje
#4 Conchavandito
11/04/2006 - 01:44 | Informe spam
Hola carlos !
Trate de hacer algo que quizas pueda ayudarte.
Para esto define el nombre INICIO a la celda a partir de la cual
empezaras a ingresar los datos.
El codigo deberás copiarlo dentro del evento "CHANGE" de la hoja en la
cual vas a ingresar los datos.

Private Sub Worksheet_Change(ByVal Target As Range)
flag = (Target.Row - Range("INICIO").Cells(1, 1).Row) / 2
flag = Range("INICIO").Cells(1, 3).Column - flag - 1
If Target.Column < flag Then
Set rng = Target.Offset(0, 2)
rng.Select
Else
If Target.Column > 3 Then
Set rng = Target.Offset(2, -3)
rng.Select
End If
End If
End Sub

Se que se puede mejorar muchísimo más, pero espero te brinde y
amplie las ideas para lo q deseas lograr. Este codigo esta en función
a las reglas que tu mencionastes en el mensaje original.
Saludos
Julio Herrera
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida