Saltar al contenido

Insertar filas en blanco en tablas alineadas verticalmente


Nori777

Recommended Posts

Buenas noches a todos

 

Necesito ayuda para insertar en una determinada tabla de una serie de ellas alineadas verticalmente la correspondiente fila en blanco para añadir datos en la tabla que corresponda. Cuando la tabla es única, no tengo problema. En el adjunto lo explico. Gracias.

Un saludo

 

             
                 
                 
         
           
                 
                 
             
                 
                 
                 
                 
                 
                 
                 
               
 
     
 
   
                 
                 
           
               
                 
     
                 
                 
                 

Consulta.xlsx

Enlace a comentario
Compartir con otras webs

Gracias por tu respuesta. Creo que no he sabido expresar la exposición de mi necesidad. Voy a intentarlo,

Consideramos una sola tabla y una sola persona.

Desde una pantalla de inicio introduzco los datos según se van produciendo y la macro me va colocando los datos en la linea vacia de la tabla siguiente a la última rellena siguiendo la identificación de la línea con las sentencias que indico.

Al tener una o más tablas alineadas en las mismas columnas cuando la sentencia busca la última linea vacía busca en la columna AI desde la última celda hacia arriba encontrando como fila vacía la de la última tabla que exista cuando lo que quiero es que la localice en otra tabla.

He intentado introducir el concepto Range(Xx:Yy) para la tabla en cuestión para que la sentencia buscara desde la celda Yy pero no he sido capaz de encontrar la forma.

No sé si he conseguido explicarte mi problema.

Disculpas por haberte hecho trabajar en vano. Gracias

Un saludo

 

Enlace a comentario
Compartir con otras webs

Claro!

Te adjunto un fichero con el cuadro de entrada de datos en la Hoja2 y la macro y los cuadros en la Hoja1.

La situación real es controlar cuando meten los goles los jugadores de un equipo. La descripción del problema es la ya realizada. Planteé la situación como inicialmente pensando que era mas sencillo.

Gracias

 Un saludo

Consulta.xlsx

Enlace a comentario
Compartir con otras webs

Hola, prueba esto y dime el resultado, tienes que asegurarte que el alias que usas en la introducción de datos es idéntico al nombre del jugador en la hoja Goles.

 

‘Identifico el jugador             
                 
If alias = Sheets("Goles").Range("BD10") Then        
                 
  ‘Busca la ultima fila vacía          
            If Sheets("Goles").Range("BE11") = "" Then      
                 ultimafilag = 11          
            Else              
                ultimafilag = Sheets("Goles").Range("BE" & Rows.Count).End(xlUp).Row + 1
            End If              
                 
                 
else If alias = Sheets("Goles").Range("BD35") Then        
                 
‘Busca la ultima fila vacía            
            If Sheets("Goles").Range("BE36") = "" Then      
                 ultimafilag = 36          
            Else              
                ultimafilag = Sheets("Goles").Range("BE" & Rows.Count).End(xlUp).Row + 1
            End If              
                 
                 
else                 
                 
‘Busca la ultima fila vacía            
            If Sheets("Goles").Range("BE61") = "" Then      
                 ultimafilag = 61          
            Else              
                ultimafilag = Sheets("Goles").Range("BE" & Rows.Count).End(xlUp).Row + 1
            End If              
End If                
Enlace a comentario
Compartir con otras webs

Hola Luis,

Gracias por tu ayuda. El problema continua. El primer registro que guardo de cualquier jugador me lo deja en su sitio pero, los siguiente los deja en la última fila del último cuadro.

Creo que se debería considerar el rango de cada cuadro para buscar en el la última fila vacía pero no se ni hacerlo ni si se puede.

Un saludo

 

Enlace a comentario
Compartir con otras webs

Hola Luis,

El problema sigue igual. Y es que cuando ejecuta el End(xlUp) em pieza a buscar desde la última celda de la columna en cuestión y lo primero que encuentra vacío es la última fila vacía de la última tabla que exista; si solo existiese una lo haría bien.

Un saludo

 

Enlace a comentario
Compartir con otras webs

Claro siempre hace lo mismo cuando la primera no esta vacia :)

      ultimafilag = Sheets("Goles").Range("BE" & Rows.Count).End(xlUp).Row + 1

sustituye por

      ultimafilag = Sheets("Goles").Range("BE31" ).End(xlUp).Row + 1

      ultimafilag = Sheets("Goles").Range("BE56" ).End(xlUp).Row + 1

      ultimafilag = Sheets("Goles").Range("BE81" ).End(xlUp).Row + 1

Enlace a comentario
Compartir con otras webs

Hola @Nori777, no se si entendí pero puedes probar con este código:

Sub registrar()
    Dim jugador     As Range
    Dim Franjas     As Variant
    
    jug = Sheets("Hoja2").Range("Q36")
    
    With Sheets("Hoja1")
        
        Set jugador = .Range("BD:BD").Find(jug, , , xlWhole)
        
        If jugador Is Nothing Then Exit Sub
        
        ult = jugador.End(xlDown).Offset(0, 1).End(xlUp).Row + 1
        
        .Cells(ult, "BE") = Sheets("Hoja2").Range("M36")
        .Cells(ult, "BF") = Sheets("Hoja2").Range("O36")
        
        Franjas = Sheets("Hoja2").Range("L40:Q40")
        
        .Range(.Cells(ult, "BG"), .Cells(ult, "BL")) = Franjas
        
    End With
    
End Sub

 Funciona en el ultimo archivo que subiste de ejemplo

Por las dudas dejo el archivo también.

Saludos a todos!

Consulta.xlsm

Enlace a comentario
Compartir con otras webs

Hace 8 minutos , Nori777 dijo:

Gracias AlexanderS. No puedo porobarlo por el error '1004' que incluí en mi contestación anterior a Luis Caballero. Cuando alguien me ayude a depurarlo lo probaré y te diré el resultado.

Gracias

 

Un saludo

Pero probaste abrir el archivo y ejecutar la macro?, el error 1004 regularmente es porque un nombre no definido o alguna comilla faltante etc.

Enlace a comentario
Compartir con otras webs

  • 2 weeks later...

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.