Excel - Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

   
Vista:

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por armuso (9 intervenciones) el 05/05/2016 03:18:39
Hola, situado el cursor en la celda f15, requiero una macro que copie las celdas aa29, ab29 y ac29
y las pegue como valor en las celdas f15, g15 y h15. Hecho esto que el cursor se sitúe en f16.
Al ejecutar nuevamente la macro, copie las celdas aa29, ab29 y ac29 y las pegue como valor en
las celdas f16, g16 y h16. Hecho esto que el cursor se sitúe en f17 para ejecutar la macro cuando
se requiera y así sucesivamente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por Andres Leonardo (485 intervenciones) el 05/05/2016 16:11:37
Pues deja el valor en una celda en otra hoja .... dandole un valor inicial y que vaya actualizando este valor despues de ejecutarse

**Tienes tu codigo para tratar de ponerle ese valor adicional...

Slaudos
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 que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por armuso arguimuso@gmail.com (9 intervenciones) el 05/05/2016 16:39:11
Realmente soy un novato en esto, algo entiendo, creo comprender lo que me dices, sin embargo no tengo los conocimientos para editar la macro y generar el código, podrías ayudarme por favor, desde ya 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
Imágen de perfil de Andres Leonardo

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por Andres Leonardo (485 intervenciones) el 05/05/2016 20:42:47
Si claro .. pero dame la macro que tienes o el libro o algo para empezar
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 que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por agustin (149 intervenciones) el 06/05/2016 03:48:10
Puedes usar una variable estatica la cual en un bucle comprueba si esta bacía la celda Fx y si no no está se incrementa y sale del bucle cuando encuentre la que esta vacia o una variable global la cual inicialices al abrir el libro y vas incrementando cada vez que escribas en una celda para que la próxima vez vayas a la siguiente.
También, si donde quieres copiarlo es la primera fila donde esa celda este vacia puedes haces algo como:
1
2
Dim UltLinea As Long
UltLinea = Range("F" & Rows.Count).End(xlUp).Row +1
Con lo que siempre apuntará a la que le sigue.
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 que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por agustin (149 intervenciones) el 06/05/2016 13:21:10
Pongo ejemplo para los 3 casos.

Caso 1 donde buscamos la primera celda vacia al final de la columna F:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Prueba1()
    Dim UltLinea As Long
 
    UltLinea = Range("F" & Rows.Count).End(xlUp).Row
    If UltLinea = 1 Then
        If Not IsEmpty(Range("F" & UltLinea)) Then
            UltLinea = UltLinea + 1
        End If
    Else
        UltLinea = UltLinea + 1
    End If
    Range("F" & UltLinea).Value = Range("A1").Value
End Sub

Caso 2 donde se usa una variable global:
1
2
3
4
5
6
7
8
9
10
11
12
'Este codigo va en el codigo de ThisWorkbook
Public Posicion As Long
 
Private Sub Workbook_Open()
    Posicion = 10 'Aqui iniciamos la posicion inicial a la deseada
End Sub
 
'Este codigo va en la hoja donde se quiera usar
Private Sub Prueba2()
    Range("F" & ThisWorkbook.Posicion).Value = Range("A1").Value
    ThisWorkbook.Posicion = ThisWorkbook.Posicion + 1
End Sub

Caso 3 donde se usa una variable estatica:
1
2
3
4
5
6
7
8
9
Private Sub Prueba3()
    Static p As Long
 
    If p = 0 Then
        p = 10 'Aqui se pone donde se quiere que empiece
    End If
    Range("F" & p).Value = Range("A1").Value
    p = p + 1
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

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por armuso (9 intervenciones) el 06/05/2016 17:29:14
aquí va el problema
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
Imágen de perfil de Andres Leonardo

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por Andres Leonardo (485 intervenciones) el 06/05/2016 21:37:47
Espero te ayude esta version saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Macro que al re ejecutarse anote en una celda más abajo que la anterior vez

Publicado por armuso (9 intervenciones) el 07/05/2016 00:39:19
FUNCIONÓ PERFECTA, ALGUNOS RETOQUES POR EL AMBIENTE GENERAL, PERO SOLUCIONÉ EL PROBLEMA

MUCHAS GRACIAS, UN GRAN ABRAZO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar