Insertar y eliminar filas (hoja protegida en Excel 97) con la formula que le antecede

13/10/2006 - 23:04 por CARLOS CARNERO | Informe spam
Insertar y eliminar filas (hoja protegida en Excel 97) con la formula
que le antecede.

Muy buena a todos y un gran favor: Hace un tiempo apertura el tema: "
INSERTAR FILA (MACRO) CON LAS FORMULAS DE LA FILA QUE LE ANTECEDE"
(Excel 97)
http://groups.google.com.pe/group/m...owse_th...

La sintaxis para insertar fila por fila estuvo excelente facilitada por
Hector Miguel y KL, que se refería a copiar la formula (una simple
sumatoría en la columna A que se incrementaba en una unidad), pero
resulta que ahora necesito estas dos sintaxis:

1. Insertar filas (más de una) con un solo comando
2. Eliminar fila y/o filas

Ej: Tengo de la columna "A" hasta la "J", los siguientes encabezados y
"n" filas. Pero en la columna "A" fila 3 (ó celda A3) esta suma a la
A2+1, en la celda A4 me suma A3+1, y así sucesivamente.


ITEM CODIGO GENERO DEL ARCHIVO TIPO DE
DCMTO AÑO MES Del Al UBICACIÓN OBSEVACIONES
1 B014.03.0001 VENTAS BOLETA 014 2003 JUNIO 0000010 ALCANFORES ACTIVO
2 B017.02.0001 VENTAS BOLETA
017 2002-2003 AGOSTO/DICIEMBRE 0000001 0000211 ALCANFORES ACTIVO
3 B017.04.0001 VENTAS BOLETA
017 2004 ENERO/DICIEMBRE 0000212 0000387 ALCANFORES ACTIVO
4 B017.04.0003 VENTAS BOLETA
017 2005 ENERO/DICIEMBRE 0000389 0000679 ALCANFORES ACTIVO FALTA 388
5 B017.04.0004 VENTAS BOLETA
017 2005-2006 NOV/ABR 0000680 0000780 ALCANFORES ACTIVO
6 F010.02.0001 VENTAS FACTURA
010 2002 JULIO/DICIEMBRE 0000338 0000495 ALCANFORES ACTIVO

Agradeciendoles de antemano su colaboración.

Carlos Carnero Gálvez

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/10/2006 - 06:02 | Informe spam
hola, Carlos !

... para insertar fila por fila estuvo excelente... se referia a copiar la formula
(una simple sumatoría en la columna A que se incrementaba en una unidad)
pero resulta que ahora necesito estas dos sintaxis:
1. Insertar filas (más de una) con un solo comando
2. Eliminar fila y/o filas
Ej: Tengo de la columna "A" hasta la "J", los siguientes encabezados y "n" filas.
Pero en la columna "A" fila 3 (o celda A3) esta suma a la A2+1, en la celda A4 me suma A3+1, y asi sucesivamente...



1) si necesitas que la formula para 'auto-numeracion' no se vea 'afectada' cuando insertas/eliminas filas intermedias...
a) o cambias la formula [incluso desde 'A3'] de: -> ¢+1 a... -> =desref(a3,-1,)+1
[al copiarse la formula 'inmediata anterior' luego de insertar filas... la auto-numercion se 'conserva']
[al eliminarse fila/s... la auto-numeracion... se 'ajusta'] :))
b) o haces un 'rellenado' de la columna 'auto-numerada' -> al finalizar la macro que inserta/elimina las filas ;)

2) para la macro que solicitas... como va a 'saber' el codigo [o como piensas que obtenga o decirle]...
a) si se insertan o eliminan filas ? [o prefieres una para cada caso] ?
b) de cuantas filas estamos 'hablando' ?

comentas los detalles pendientes ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 CARLOS CARNERO
16/10/2006 - 19:48 | Informe spam
Hola Hector: Antetodo muchas gracias por tu amable atención. Perfecto
la formula de "desref" funciona cumpliendo la finalidad de conservar la
sumatoría cuando elimino filas y cuando se incrementa se adiciona en
una unidad.

El código (ó quizás me estoy expresando erróneamente) a que me
refiero es a insertar mediante un click a la imagen ó icono en el cual
grabe una macro, para cada función que requiera operar (ojo que la
hoja esta protegida y ya tengo la sintaxis de insertar fila por fila):

Ej:
Imagen A: Al hacer click me inserta fila por fila
Imagen B: La misma operación pero insertara las filas que uno
seleccione ó sombree por el cursor. Si es 12 sombreadas, serán las
que requiero.
Imagen C: Eliminará fila por fila
Imagen D: Eliminará todas las filas que estén sombreadas por el
cursor. Caso inverso de la imagen B.

Saludos desde el Perú,

Carlos Carnero Gálvez
Respuesta Responder a este mensaje
#3 CARLOS CARNERO
16/10/2006 - 20:05 | Informe spam
Esta la sintaxis de fila por fila:


Sub Imagen914_AlHacerClic()
With ActiveCell
.Offset(-1).EntireRow.Copy
Cells(.Row, 1).Insert xlDown
Cells(.Row - 1, 2).Resize(, 8).ClearContents
.Offset(-2).AutoFill .Offset(-2).Resize(4)
End With
End Sub

¿Qué modificaciones se tendrían que hacer para los demas casos?
(cada uno con una respectiva imagen)

Gracias una vez más.

Saludos,

Carlos Carnero Gálvez
Respuesta Responder a este mensaje
#4 CARLOS CARNERO
17/10/2006 - 00:31 | Informe spam
La idea es que tan igual como inserto fila por fila haciendo click en
una imagen, en ningún momento se desprotege la hoja. Eso mismo deseo
que opere cuando al realizar un click con la hoja protegida pueda
operar eliminar fila por fila, eliminar filas de acuerdo a la
selección del cursor y/o insertar filas de acuerdo a la selección del
cursor.

Muchas y remuchas gracias Hector y miembro de esta comunidad forista
por su atención.

Saludos,

Carlos Carnero Gálvez
Respuesta Responder a este mensaje
#5 Héctor Miguel
17/10/2006 - 07:59 | Informe spam
hola, Carlos !

1) [creo que] no tiene caso utilizar 4 macros para 2+2 acciones 'similares' [me explco]:
es [practicamente] el mismo 'trabajo'... insertar/eliminar una... que dos o mas filas ;)

2) podrias utilizar -solo- una macro/imagen para ambas acciones +/- de la siguiente manera:
si se hace clic sobre la imagen de forma 'normal'... la macro INSERTA [y re/copia] una dos o las filas seleccionadas
si se hace clic combinado con la tecla {mayusc}... la macro ELIMINA una dos o las filas seleccionadas :))
-> cual seria el 'sentido/objetivo/utilidad/... de 'forzar' al usuario a eliminar usando la tecla {mayusc} ???
[precisamente] 'invitarlo' a que [de manera +/- conciente] 'confirme' que la intencion ES eliminar la/s fila/s selecionada/s :D

si crees que te resulte util esta alternativa... te paso los codigos despues de...
si cualquier duda [o informacion adicional] o 'prefieres' una macro para cada imagen... cometas ?
saludos,
hector.

en un modulo de codigo 'general'... y asignas 'la macro' a la imagen -unica ?- preferida ==
Private Declare Function MonitorDeTeclas _
Lib "User32" Alias "GetAsyncKeyState" _
(ByVal Tecla As Long) As Integer
Private Function Mayusc() As Boolean
Mayusc = (MonitorDeTeclas(vbKeyShift) And &H8000)
End Function
Sub Imagen914_AlHacerClic()
Application.ScreenUpdating = False
If TypeName(Selection) <> "Range" Then Exit Sub
If Mayusc Then Selection.EntireRow.Delete: Exit Sub
Selection.EntireRow.Insert
Selection.Offset(-1).Resize(1).EntireRow.Copy _
Cells(Selection.Row, 1).Resize(Selection.Rows.Count)
Cells(Selection.Row, 2).Resize(Selection.Rows.Count, 8).ClearContents
End Sub

__ desde la consulta anterior __
El codigo... es a insertar mediante un click a la imagen o icono... para cada funcion que requiera operar
(ojo que la hoja esta protegida y ya tengo la sintaxis de insertar fila por fila): Ej:
Imagen A: ... me inserta fila por fila
Imagen B: ... insertara las filas que uno seleccione o sombree por el cursor...
Imagen C: Eliminara fila por fila
Imagen D: Eliminara todas las filas que esten sombreadas por el cursor. Caso inverso de la imagen B

Esta la sintaxis de fila por fila:


Sub Imagen914_AlHacerClic()
With ActiveCell
.Offset(-1).EntireRow.Copy
Cells(.Row, 1).Insert xlDown
Cells(.Row - 1, 2).Resize(, 8).ClearContents
.Offset(-2).AutoFill .Offset(-2).Resize(4)
End With
End Sub

Que modificaciones se tendrian que hacer para los demas casos?
(cada uno con una respectiva imagen)
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida