Excel - ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

 
Vista:
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 31/12/2019 15:24:21
Buenas a todos
Alguien me puede ayudar con este archivo, tengo una macros que inserta filas en las hojas, pero para ser mas rapida la tarea, me gustaría que las insertara en varias hojas NO en todas, ya que en el archivo que subo tiene 4 hojas pero realmente es un archivo con 15 hojas y no quiero que se inserte en todas las hojas y por el contrario que si tengo que eliminar una fila las elimine de las mismas hojas en las que puedo insertar , he subido un archivo donde siempre empiezo eliminado o insertando el la hoja denominada "turnos 1º".

Muchas gracias y un saludo
Jaime
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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 31/12/2019 17:40:12
No entiendo a que te refieres cuando dices: "... me gustaría que las insertara en varias hojas NO en todas ..."

¿A que hojas te refieres?
¿Cuales si y cuales no?
¿Siempre son las mismas?

La forma rápida de hacerlo es así:

1
2
3
4
5
6
7
Sub Macro1()
    Sheets(Array("turnos 1º", "turnos 2º", "BOLSA HORAS", "LIBRE BOLSA")).Select
    Sheets("turnos 1º").Activate
    Rows("7:7").Select
    Selection.Insert Shift:=xlDown
    Sheets("turnos 1º").Select
End Sub

Seleccionas las hojas a insertar, insertas y des-seleccionas.

Me he tomado la libertad de modificar la primera hoja.

No necesitas estar repitiendo los nombres, con bloquear las 2 primeras columnas puedes desplazarte a la derecha sin perder las referencias de la fila.
El nombre del mes lo he puesto encima ocupando las filas 1 y 2 y alternando dos tonos de azul para cada mes.

La idea si te gusta es aplicable a las otras hojas.

La macro podría rellenar las columnas de los domingos y festivos al insertar una fila.
La fila a insertar podría perfectamente ser la primera libre, en el ejemplo que has puesto seria la 10 y no la 7, la siguiente la 11.

1
2
3
4
5
6
7
8
9
10
11
Sub Insertar_Por_Debajo()
    Rows("10:10").Select
    Selection.Copy
    Rows("11:11").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, _
                           Operation:=xlNone, _
                           SkipBlanks:=False, _
                           Transpose:=False
    Application.CutCopyMode = False
    Range("A13").Select
End Sub

A la hora de borrar ¿Cómo seleccionas la fila?

Saludos.
\\//_
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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 31/12/2019 18:02:14
Buenas Tardes Antoni Masana.

Muchas gracias por tu ayuda es justo lo que me hacia falta, las dos funcionan correctamente para mis trabajos, otro dia que puedas si te apetece podrias ayudarme con todo lo contrario que seria eliminar filas de las hojas donde yo ponga en la macros entre parentesis los nombres de las hojas a eliminar.

Muchas gracias y un gran saludo

Jaime
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: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 31/12/2019 18:28:10
Buenas Tardes Antoni Masana.

Para eliminar filas, seria poder cambiar el numero de la fila en la macros, por ejemplo quiero eliminar la fila de una persona que esta en la fila 7, pues seria poner en la macros 7.

Muchas Gracias Antoni
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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 31/12/2019 19:18:05
Una macro para borrar la fila activa:

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
Sub Borrar_Fila()
    Dim Opc As Byte, Fila As Long, Texto As String, Teclas As Integer
 
    Fila = ActiveCell.Row
 
    ' --- Protege la cabecera
 
    If Fila < 5 Then Exit Sub
 
    ' --- No te permite borrar una fila vacia si la anterior y posterior estan vacias
 
    If (Cells(Fila + 0, "A") = Empty And Cells(Fila + 0, "B") = Empty) And _
       (Cells(Fila - 1, "A") = Empty And Cells(Fila - 1, "B") = Empty) And _
       (Cells(Fila + 1, "A") = Empty And Cells(Fila + 1, "B") = Empty) Then Exit Sub
 
    Texto = "Desea borrar la fila: " & Fila & vbCrLf & vbCrLf & _
            Cells(Fila, "A") & " - " & Cells(Fila, 2)
    Teclas = vbYesNoCancel + vbQuestion
 
    Opc = MsgBox(Texto, Teclas, "BORRAR FILA")
    If Opc = vbYes Then
       Rows(Fila & ":" & Fila).Select
       Selection.Delete Shift:=xlUp
    End If
End Sub

No te permite borrar las 4 primeras filas y tampoco si la fila esta vacía y la anterior y posterior están vacías.

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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 31/12/2019 19:25:34
Gracias Antoni

Muchas gracias por tu respuesta tan rapida , funciona muy bien, pero se podría hacer que eliminara la misma fila en mas hojas del libro.

gracias Antoni
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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 02/01/2020 15:23:57
Esta macro es para agrupar las hojas que quieras. La línea del IF y TOTALES es para saltar las hojas que no quieres agrupar.

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
Sub Agrupar_Hojas()
    Dim Tabla() As String, Num As Integer, Tot
 
    ' ---&--- Cuenta las hojas que quiere agrupar
 
    For Num = 1 To Sheets.Count
        SW = 0
        If Sheets(Num).Name = "TOTALES" Then SW = 1
        If Sheets(Num).Visible And SW = 0 Then Tot = Tot + 1
    Next
 
    ' ---&--- Dimensiona la tabla
 
    ReDim Tabla(1 To Tot): Tot = 0
 
    ' ---&--- Carga la tabla con los nombres de las hojas
 
    For Num = 1 To Sheets.Count
        SW = 0
        If Sheets(Num).Name = "TOTALES" Then SW = 1
        If Sheets(Num).Visible And SW = 0 Then
            Tot = Tot + 1
            Tabla(Tot) = Sheets(Num).Name
        End If
    Next
 
    ' ---&--- Agrupa las hojas
 
    Sheets(Tabla).Select
End Sub


Otra forma de hacer lo mismo algo más simple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Agrupar_Hojas_2()
    Dim Tabla() As String, Num As Integer, _
        Hoja As Integer, SW As Integer
 
    ' ---&--- Carga la tabla con los nombres de las hojas
 
    Hoja = 0
    For Num = 1 To Sheets.Count
        SW = 0
        If Sheets(Num).Name = "TOTALES" Then SW = 1
        If Sheets(Num).Visible And SW = 0 Then
            Hoja = Hoja + 1
            ReDim Preserve Tabla(1 To Hoja)
            Tabla(Hoja) = Sheets(Num).Name
        End If
    Next
 
    ' ---&--- Agrupa las hojas
 
    Sheets(Tabla).Select
End Sub


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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 02/01/2020 16:45:26
Buenas Antoni

Estoy comprobando la macros que me has pasado, pero no se como usarla, para poder eliminar una fila en varias hojas del libro a la vez.

un saludo y gracias

Jaime
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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 02/01/2020 17:51:36
He unido las dos macros y te subo un ejemplo:

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
Sub Borrar_Fila()
    Dim Tabla() As String, Num As Integer, _
        Hoja As Integer, SW As Integer, Hoja_Actual As String
    Dim Opc As Byte, Fila As Long, Texto As String, Teclas As Integer
 
    Fila = ActiveCell.Row
 
    ' --- Protege la cabecera
 
    If Fila < 5 Then Exit Sub
 
    ' --- No te permite borrar una fila vacia si la anterior y posterior estan vacias
 
    If (Cells(Fila + 0, "A") = Empty And Cells(Fila + 0, "B") = Empty) And _
       (Cells(Fila - 1, "A") = Empty And Cells(Fila - 1, "B") = Empty) And _
       (Cells(Fila + 1, "A") = Empty And Cells(Fila + 1, "B") = Empty) Then Exit Sub
 
 
    Texto = "Desea borrar la fila: " & Fila & vbCrLf & vbCrLf & _
            Cells(Fila, "A") & " - " & Cells(Fila, 2)
    Teclas = vbYesNoCancel + vbQuestion
 
    Opc = MsgBox(Texto, Teclas, "BORRAR FILA")
    If Opc = vbYes Then
 
        Hoja_Actual = ActiveSheet.Name
 
        ' ---&--- Carga la tabla con los nombres de las hojas
 
        Hoja = 0
        For Num = 1 To Sheets.Count
            SW = 0
            If Sheets(Num).Name = "TOTALES" Then SW = 1   ' --- Aqui debes poner las hojas que NO quieres que borre la fila
            If Sheets(Num).Visible And SW = 0 Then
                Hoja = Hoja + 1
                ReDim Preserve Tabla(1 To Hoja)
                Tabla(Hoja) = Sheets(Num).Name
            End If
        Next
 
        ' ---&--- Agrupa las hojas
 
        Sheets(Tabla).Select
 
        ' ---&--- Borra la Fila
 
        Rows(Fila & ":" & Fila).Select
        Selection.Delete Shift:=xlUp
 
        ' ---&--- Agrupa las hojas
 
        Sheets(Hoja_Actual).Select
    End If
End Sub


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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 02/01/2020 18:01:47
Buenas Antoni

Gracias por tu esfuerzo pero donde pongo la fila que quiero eliminar y donde pongo de que hojas quiero eliminar.

un saludo
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: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 02/01/2020 18:21:50
Buenas Antoni

En mi libro de trabajo tengo mas de 15 hojas, por lo que veo has puesto de que hojas NO quiero que se elimine la FILA pero podria poner de que hojas SI que se van a eliminar.

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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 02/01/2020 22:01:21
Tendría que saber que hojas tienes cuantas y cuales son SI y cuales NO.

Si tienes 15 hojas y quieres eliminar de todas menos de dos ya esta bien así solo falta cambiar el TOTALES por el nombre de la hoja y añadir otra linea igual con el nombre de la otra pero si son 2 o 3 hojas de las que que tiene que eliminar solo falta cambiar el TOTALES por el nombre de la hoja y añadir otra linea igual con el nombre de la otra y cambiar el valor de la variable SW en la condición.

Adjunto ejemplo para el segundo caso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Borrar_Fila()
    ...
        Hoja = 0
        For Num = 1 To Sheets.Count
            SW = 0
            If Sheets(Num).Name = "Turno 1" Then SW = 1   ' --- Aqui debes poner las hojas que NO quieres que borre la fila
            If Sheets(Num).Name = "Turno 2" Then SW = 1   ' --- Aqui debes poner las hojas que NO quieres que borre la fila
 
            If Sheets(Num).Visible And SW = 1 Then
                Hoja = Hoja + 1
                ReDim Preserve Tabla(1 To Hoja)
                Tabla(Hoja) = Sheets(Num).Name
            End If
        Next
    ...
End Sub


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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 03/01/2020 18:02:30
Buenas Antoni

Perdona por tanto mareo, te indico las hojas que SI que hay que eliminar 1 fila, de las mas de 1000 que hay por hoja, esto pasa cuando un trabajador se marcha o por otros motivos, ya que somos sobre 1000 personas en el trabajo, las hojas que hay que eliminar la fila son:
( turnos 1º, turnos 2º, LIBRE BOLSA, BOLSA HORAS, PATRONALES, CUADRANTE IMPRIMIR QUINCENA, L Y S, SEMANAS DE 6 DIAS, RESUMEN TOTAL, JORNADAS PERDIDAS) entones seria que por ejemplo se marcha un trabajador que esta en la fila 7 pues que elimine todas las filas 7 de las hojas que te he puesto ya que el trabajador esta en todas las hojas que te he comentado en la misma fila, de las del resto del libro no ya que no tiene nada que ver, son otro tipo de información. si ves que esta muy complicado no pasa nada ya me pasaste una macros que elimina de la hoja activa.

un saludo y gracias
Jaime
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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 03/01/2020 18:28:04
Este podría ser la macro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Borrar_Fila()
    ...
        Hoja = 0
        For Num = 1 To Sheets.Count
            SW = 0
            if Sheets(Num).NAME ="turnos 1º" Then SW =1
            if Sheets(Num).NAME ="turnos 2º" Then SW =1
            if Sheets(Num).NAME ="LIBRE BOLSA" Then SW =1
            if Sheets(Num).NAME ="BOLSA HORAS" Then SW =1
            if Sheets(Num).NAME ="PATRONALES" Then SW =1
            if Sheets(Num).NAME ="CUADRANTE IMPRIMIR QUINCENA" Then SW =1
            if Sheets(Num).NAME ="L Y S" Then SW =1
            if Sheets(Num).NAME ="SEMANAS DE 6 DIAS" Then SW =1
            if Sheets(Num).NAME ="RESUMEN TOTAL" Then SW =1
            if Sheets(Num).NAME ="JORNADAS PERDIDAS" Then SW =1
 
            If Sheets(Num).Visible And SW = 1 Then
                Hoja = Hoja + 1
                ReDim Preserve Tabla(1 To Hoja)
                Tabla(Hoja) = Sheets(Num).Name
            End If
        Next
    ...
End Sub

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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 03/01/2020 18:32:58
Buenas

Me sale error de compilación variable no definida en la linea:

ReDim Preserve Tabla(1 To Hoja)

y luego donde le pongo la fila a eliminar

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 Antoni Masana
Val: 4.149
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por Antoni Masana (1494 intervenciones) el 03/01/2020 19:43:05
Esta es la macro completa:

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
Option Explicit
 
Sub Borrar_Fila()
    Dim Tabla() As String, Num As Integer, _
        Hoja As Integer, SW As Integer, Hoja_Actual As String
    Dim Opc As Byte, Fila As Long, Texto As String, Teclas As Integer
 
    Fila = ActiveCell.Row
 
    ' --- Protege la cabecera
 
    If Fila < 5 Then Exit Sub
 
    ' --- No te permite borrar una fila vacia si la anterior y posterior estan vacias
 
    If (Cells(Fila + 0, "A") = Empty And Cells(Fila + 0, "B") = Empty) And _
       (Cells(Fila - 1, "A") = Empty And Cells(Fila - 1, "B") = Empty) And _
       (Cells(Fila + 1, "A") = Empty And Cells(Fila + 1, "B") = Empty) Then Exit Sub
 
 
    Texto = "Desea borrar la fila: " & Fila & vbCrLf & vbCrLf & _
            Cells(Fila, "A") & " - " & Cells(Fila, 2)
    Teclas = vbYesNoCancel + vbQuestion
 
    Opc = MsgBox(Texto, Teclas, "BORRAR FILA")
    If Opc = vbYes Then
 
        Hoja_Actual = ActiveSheet.Name
 
        ' ---&--- Carga la tabla con los nombres de las hojas
 
        Hoja = 0
        For Num = 1 To Sheets.Count
            SW = 0
            If Sheets(Num).Name = "turnos 1º" Then SW = 1
            If Sheets(Num).Name = "turnos 2º" Then SW = 1
            If Sheets(Num).Name = "LIBRE BOLSA" Then SW = 1
            If Sheets(Num).Name = "BOLSA HORAS" Then SW = 1
            If Sheets(Num).Name = "PATRONALES" Then SW = 1
            If Sheets(Num).Name = "CUADRANTE IMPRIMIR QUINCENA" Then SW = 1
            If Sheets(Num).Name = "L Y S" Then SW = 1
            If Sheets(Num).Name = "SEMANAS DE 6 DIAS" Then SW = 1
            If Sheets(Num).Name = "RESUMEN TOTAL" Then SW = 1
            If Sheets(Num).Name = "JORNADAS PERDIDAS" Then SW = 1
 
            If Sheets(Num).Visible And SW = 1 Then
                Hoja = Hoja + 1
                ReDim Preserve Tabla(1 To Hoja)
                Tabla(Hoja) = Sheets(Num).Name
            End If
        Next
 
        ' ---&--- Agrupa las hojas
 
        Sheets(Tabla).Select
 
        ' ---&--- Borra la Fila
 
        Rows(Fila & ":" & Fila).Select
        Selection.Delete Shift:=xlUp
 
        ' ---&--- Agrupa las hojas
 
        Sheets(Hoja_Actual).Select
    End If
End Sub

Saludos.
\\//_
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
sin imagen de perfil
Val: 124
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ELIMINAR E INSERTAR FILAS EN VARIAS HOJAS

Publicado por JAIME (47 intervenciones) el 03/01/2020 19:51:04
Buenas Antoni

Que maravilla gracias funciona correctamente me has ayudado mucho estos dias.

un gran saludo
Jaime
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