Saltar al contenido

¿Cómo puedo insertar una fila en una en una hoja, estando desde otra?


Recommended Posts

publicado

Buenas ?

A ver si me podéis echar una mano, tengo un formulario que lo llamo desde cualquier hoja del libro y quiero que en una hoja fija y en una fila fija me inserte una fila entera, sin que el formulario cambie independiente de la hoja en la que em encuentre, es decir copie el formato de su fila superior lo desplace hacia abajo y lo copie en el huco desplazado.

    Sheets("Hoja Fija").Select
    Rows("4:4").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

con esto me lo hace lo que quiero , pero claro me lleva a la hoja en cuestión, y no es lo que necesito, ya que el formulario que lo hace solo es para mirar los datos de una tabla cuando me haga falta y si tengo que añadir una fila nueva no tenga que ir a al hoja en cuestión para insertar la fila y regresar otra vez a lahoja en al que em encontraba?

publicado

Joer, asi lo estuve probando ayer todo el rato y era y me hacia cosas raras en las hojas actuales y era por no sustituir el select ese y concatenarlo con el punto ?

 

Muchas gracias?

publicado

Aprovecho este mismo qeu esta relacionado con casi lo mismo para no crear otro post?

el caso  me ha dado por implementar esto en otra hoja ya que de esta manera al insertar una fila me permite conservar lo que tenga en el portapapeles en ese momento.

En 9/10/2022 at 10:55 , Antoni dijo:

Más corto:

Sheets("Hoja Fija").Rows(4).Insert 

 

pero el caso es que me he dado cuenta que haciéndolo asi pierdo una función que no me copia al crear  la nueva linea?

 

Selection.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(Text_Colum - 1, 1).Copy
Cells(Text_Colum, 1).PasteSpecial Paste:=xlPasteFormulas
Application.CutCopyMode = False
    

que básicamente seria este función de conteo y me muestra el numero de registros que tengo empezando desde la fila dos como primero registro ya que las dos primeras filas son encabezados con los nombres de las filas

 =FILA(A3)-FILA(A$2)

es decir esto al ejecutarse la la instrucción de arriba desde un botón  para copiar  la fila anterior a la nueva y rellenar datos

1

2

3

4

etc

pero de esta forma me quedo sin lo que tuviera en el portapapeles en ese momento guardado para rellenar alguna casilla de información

se me había ocurrido que eso se lo podría meter en la columna 1 donde se encuentra a la hora de rellenar los datos preestablecidos con el botón de crear la fila 

text_colum almacena el valor de al columna en al que em encuentro en ese momento.

 Rows(Text_Colum).Insert

 Cells(Text_Colum, 1) = "=FILA(A3)-FILA(A$2)"
    

Y que diera igual donde creara la nueva columna que siguiera con la numeración, pero lo único que consigo es que me salga un error con ####### 

¿Hay alguna forma de poder hacer que siga la numeración al insertar una nueva fila, y asi poder  mantener si tengo información en el portapapeles sin que tenga que volverlo a buscar y darle a copiar y pegar para usarlo en alguna otra parte o por fuerza debo seguir usando el primer código  porque no hay mas remedio?? 

Espero haberme explicado?

 

 

publicado

Bueno al final ya di con la solución ?

Dim POS As String

Rows(Text_Colum).Insert
  
Posicion = "A" + Text_Colum
    
Range(POS).FormulaLocal = "=FILA(" + Posicion + ")-FILA(A$2)"

 

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.