Saltar al contenido

insertar la misma fila y la nueva infromacion en varias Hojas


MarlonSanchez34

Recommended Posts

Estimados,

Les pido por favor si pudiesen ayudarme con la siguiente macro.

tengo un libro excel con varias hojas las cuales tienen la misma informacion, 

lo que quiero con esta macro es que cuando yo inserte una fila en una hoja Ej (hoja 1), esta se vea reflejada en las las hojas restantes, en la misma posición en la que fue insertada en la (hoja 1).

y después agregar la informacion nueva las nuevas filas ingresadas 

 

Desde ya les agradezco muchísimo...

Enlace a comentario
Compartir con otras webs

@MarlonSanchez34 , no he entendido nada y como tampoco subes un archivo de ejemplo explicando qué necesitas, sacaré la bola de cristal como haría una de nuestras moderadoras:

  • No se trata de que ingreses datos en la última fila vacía de cualquier hoja
  • ¿Se trataría de que INSERTARÍAS una fila en cualquier posición de la hoja, digamos en la fila 5 aunque tengas 20 filas? :huh:
  • Si todas las hojas tienen la misma información ¿Por qué no haces lo que necesites siempre desde la misma hoja, digamos Hoja1?
  • O sea, insertas una fila en cualquier sitio (no sé si con algún formato especial), la copias al resto de hojas y luego rellenas los datos a mano en todas las hojas... :o

A la espera de que nos aclares algo, inserta este código en la Hoja 1 (no en un módulo, sino en la hoja1 dentro del editor de VBA)

Public Filas As Long
Public seleccion As Range

Private Sub Worksheet_Change(ByVal Target As Range)

If Filas < Me.UsedRange.Rows.Count Then
    For i = 2 To Sheets.Count
        Sheets(i).Activate
        fila = seleccion.Address
        ActiveSheet.Range(fila).EntireRow.Insert
    Next i
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("1:10000")) Is Nothing Then
Exit Sub
End If

Filas = Me.UsedRange.Rows.Count
Set seleccion = Target.Cells.Rows
End Sub

Para que funcione:

  • Siempre debes insertar la fila desde la hoja 1
  • Para insertar la fila, SIEMPRE debes hacerlo seleccionando dónde insertar en la columna que tiene los números de fila

 

Enlace a comentario
Compartir con otras webs

Buen dia @Haplox

adjunto esta el archivo.

la idea es que al modificar una fila en la hoja de análisis esta se vea vista modificada, en la hoja de ponderación y las hojas de los meses.

1. las hojas de análisis y ponderación son diferentes pero manejan el mismo tipo de informacion en cuento a nombres

2. las hojas de meses son iguales.

3. lo que yo quiero hacer es que si ingreso una nueva fila en la fila 4 esta se me vea reflejada en las demas hojas en la misma fila.

4. y que la informacion que yo ingrese en la nueva fila se e vea reflejada en las demas hojas, por lo menos los nombres si se puede reflejar también las formulas seria super.

espero esta ves me haya explicado mejor. 

 

Enlace a comentario
Compartir con otras webs

buen día @Haplox

al archivo adjunto tuve que quitarle unas hojas adicionales para poderlo comprimir, pero las hojas estan guardadas por meses y esos meses van hasta noviembre

Buen dia @Haplox

adjunto esta el archivo.

la idea es que al modificar una fila en la hoja de análisis esta se vea vista modificada, en la hoja de ponderación y las hojas de los meses.

1. las hojas de análisis y ponderación son diferentes pero manejan el mismo tipo de informacion en cuento a nombres

2. las hojas de meses son iguales.

3. lo que yo quiero hacer es que si ingreso una nueva fila en la fila 4 esta se me vea reflejada en las demas hojas en la misma fila.

4. y que la informacion que yo ingrese en la nueva fila se e vea reflejada en las demas hojas, por lo menos los nombres si se puede reflejar también las formulas seria super.

espero esta ves me haya explicado mejor. 

.

ANALISIS.zip

Enlace a comentario
Compartir con otras webs

Hace 8 minutos , MarlonSanchez34 dijo:

espero esta ves me haya explicado mejor. 

Lo siento, pero no. O yo ando un poco espeso hoy :(

Has subido un archivo vacío (solo con la organización), así que es difícil saber qué hay que copiar... Aparte no respondiste a mis preguntas, así que lo intento de nuevo

  • Dices " si ingreso una nueva fila en la fila 4 esta se me vea reflejada en las demas hojas "... ¿En la fila 4? Si la tabla de la hoja análisis empieza en la línea 8 :huh:
  • En todo caso, ¿Qué dato introducirías y en qué columna y fila?
  • Y de nuevo, en todo caso ¿Hablas de introducir datos en alguna línea y que esos datos se copien a las otras hojas? ¿O hablas de INSERTAR una fila entre medias de las ya creadas? Ten en cuenta que NO ES LO MISMO.
  • Suponiendo que la tabla estuviese completa con datos ¿Hablas de introducir datos en la siguiente fila libre a la última y que esos datos se copien a las demás?

Siento parecer pesado, pero es que sin esta información, para mí, es imposible hacer nada

Enlace a comentario
Compartir con otras webs

buen día @Haplox

Disculpame no haberme hecho explicar bien.

el archivo fue sin datos porque era muy pesado. el que acabo de enviar le acabo de agregar unos pocos datos

intento de nuevo explicarme.

que intento hacer:

1. yo tengo un archivo de varias hojas que todos manejan en las filas de nombre la misma información. yo hablo de INSERTAR una fila entre medias de las ya creadas

lo que intento hacer es que yo inserte una fila, en cualquier posición de la hoja como ejemplo (estoy en la fila 10 de la hoja 1 e inserto una fila) lo que quiero que haga la macro es que me inserte en la fila 10 de la hoja 2 una nueva fila como lo hizo en la hoja 1 y así cada vez que yo inserte una fila), lo que te escribí entre paréntesis es un ejemplo, pero si en dado caso yo estoy en la hoja 1 ya no en la fila 10 como en el ejemplo sino en la fila 50, la fila que inserte aparezca en las hojas restantes en fila 50.

2. ahora que abras el archivo que te envie el tendrá unos nombres en una filas, Marlon, haplox, sutanito etc, lo otro que quiero es que si yo inserto una fila, en la fila nueva que inserte yo le pueda agregar unos nombres y estos nombres me aparezcan en las filas nuevas creadas en las otras hojas.

_____________________________________________________________________________________________________________________________________

esto ya lo hice agrupando hojas, cuando lo hago de esta manera al insertar una fila me aparece en todas las hojas agrupadas, y al colocarle información me aparece en todas las hojas agrupadas, pero lo que quiero hacer con la macro es automatizar este proceso. y no tener que estar agrupando a cada rato para insertar una nueva fila

ANALISIS.zip

Enlace a comentario
Compartir con otras webs

Entonces casi te entendí al principio @MarlonSanchez34 ;) Te sirve el código que te deje al principio con alguna modificación. Ahora no tengo mucho tiempo para probarlo, pero inténtalo y seguimos con el tema

Public Filas As Long
Public seleccion As Range

Private Sub Worksheet_Change(ByVal Target As Range)

If Filas < Me.UsedRange.Rows.Count Then
    For i = 2 To Sheets.Count
        Sheets(i).Activate
        fila = seleccion.Address
        ActiveSheet.Range(fila).EntireRow.Insert
    Next i
sheets(1).activate
fila=target.row
col=target.column                                  
target.copy
For j = 2 To Sheets.Count
        Sheets(j).Activate
        cells(target.row,target.column).pastespecial (xlpasteall)
next j                                  
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("1:10000")) Is Nothing Then
Exit Sub
End If

Filas = Me.UsedRange.Rows.Count
Set seleccion = Target.Cells.Rows
End Sub

 

Enlace a comentario
Compartir con otras webs

@MarlonSanchez34 , te dejo el archivo con la solución. Recuerd que en la hoja ANALISIS, para insertar la fila debes hacerlo con EL BOTÓN DERECHO DEL RATÓN sobre la columna con los números de fila.

Cuando introduzcas el nombre en la línea insertada, este se copiará a las otras hojas. Como no veo cómo funcionan tus hojas, no sé que datos más se podrían copiar de ANALISIS a las otras hojas

ANALISIS.xlsm

Enlace a comentario
Compartir con otras webs

  • 2 weeks later...

te agradezco @haplox, par seguir molestándote que debo hacer para que si yo agrego otra hoja al archivo, esta ultima hoja también cambie cuando le agrego las filas.

y  lo otro es si puedo hacer lo contrario si eliminio una fila esta también se elimine en las demás hojas.

en total seria 12 hojas en el archivo. 

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Mejor que subas un archivo que contenga esas fórmulas, indicando qué resultados esperas conseguir. Así ayudas a quien quiera ayudarte; no le obligas a que reproduzca ese modelo, y de paso podrá ver cuál es el objetivo buscado con esa/s fórmula/s. Saludos,
    • Buenas noches quisiera hacer esta formula auto incremental    =SI(INDIRECTO("'Casos de Prueba'!I1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")); 0)      para que cada vez que copiase y pegase la celda con la formula  se incrementara la letra en este caso la I pasara a J ,como el numero perteneciente a Resultados Ciclo pasando en este caso del 1 al 2.   Tengo también esta formula =CONCATENAR("CP";TEXTO(MAX((SI((ESNUMERO(HALLAR("CP";A$1:A1)))*(A$1:A1<>"");VALOR(EXTRAE(A$1:A1;3;3));0))+1);"000")&" - "&B2) quisiera que no tuviera los 3 ceros si no que fuera por ejemplo CP1 y se fuera incrementando. Gracias un saludo.
    • Con el diseño así como lo tiene en su libro, una fórmula de BUSCARV con COINCIDIR debería ser de utilidad =C5*BUSCARV($C$1,Tabla1[#Todo],COINCIDIR($D5,Tabla1[#Encabezados],0)) Es con lo que participaría en su consulta. Lo que resta es definir que hacer si no encuentra la OT porque así como esta le devolvería error en ese caso, o si tiene condiciones que haya podido omitir también le afectarían el resultado.
    • He cambiado mi macro a este: Sub repetir() Set a = Sheets(ActiveSheet.Name) uf = a.Range("C" & Rows.Count).End(xlUp).Row 'ultima fila con datos ActiveCell.Select ActiveCell.Offset(1, 0).Select   'Application.OnTime Now + TimeValue("00:00:10"), "repetir", , True End If End Sub   Lo que no se es como detenerlo al llegar a la ultima fila con datos de la columna C. Muchas gracias
    • Buenas tardes a todos. Tengo un problema que preciso de vuestra ayuda.  Tengo que controlar los gastos de la oficina que trabajo y he de repartir unos gastos a % según una OT y unos tipos de gastos. Envío un archivo adjunto. Lo que necesito es que lo que aparece en la columna en amarillo lo haga automáticamente, teniendo en cuenta los datos de la tabla a la derecha. Por ejemplo, el primer gasto tiene una cuota de 1477 euros y teniendo en cuenta que es un gasto de tipo Común y que la OT es la 12810234, le corresponde un gasto de 605,57 euros ya que según la tabla de la derecha su % a imputar es de un 41%. ¿alguien me puede ayudar con la formula? He de añadir muchas más líneas y más hojas con el resto de OT y en el futuro cambiar más datos, así que necesito automatizarlo con una formula Excel. Gracias. Control de gastos.xlsx
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.