UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO "BORRADO" DE FILAS CON CODIGO el 10/01/14, 04:52 pm

rubito1


QUIERO HACER UNA MACRO QUE "SUBA " LAS FILAS (NO QUE LAS ELIMINE SINO NO ME FUNCIONAN LAS FORMULAS DE LA OTRA HOJA(DA ERRORES))
PARA REORDENARLAS YA QUE SINO SIEMPRE ME QUEDAN ESPACIOS VACIOS
EL PROBLEMA ES QUE SI REORDENO ACA NO ME COINCIDIRAN LOS DATOS DE LA OTRA HOJA(LOS DATOS MANUALES CON LOS DE CARGA AUTOMATICA)

2RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 10/01/14, 06:57 pm

tyno


Hola rubito.
No se si entendi bien, pero lo que me parece que estas buscando es ocultar la fila, lo cual hace que la fila por debajo "suba", ¿es eso lo que quieres? Saludos

3RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 10/01/14, 08:44 pm

rubito1


subo un archivo para que lo veas
Archivos
borrado.zip
No tienes los permisos para descargar los archivos.
(157 KB)

4RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 11/01/14, 10:33 am

tyno


Hola rubito.
Mira, ahora no puedo subir archivos a dropbox , no se porque motivo queda tan pesado tu archivo si tiene pocos datos, pero te paso un código que creo te puede servir:

Private Sub CommandButton1_Click()
Dim celda As Range
If ActiveCell.Row > 4 Then
Application.ScreenUpdating = False
For Each celda In Selection
Range(Cells(celda.Row, 1), Cells(celda.Row, 13)) = ""
Next celda
Application.ScreenUpdating = True
Range("a5:l" & Range("a65536").End(xlUp).Row).Sort key1:=Range("a5"), order1:=1
Else
MsgBox "Seleccionar un registro", vbCritical, "AVISO"
Exit Sub
End If
End Sub

Crea un Botón Control Activex (no formulario) en la Hoja CARGA DIARIA y en el editor de macro, en la misma Hoja (Alt+f11) inserta el código que te he pasado. Borra el mensaje en amarillo que tenías al final de los datos en la Hoja CARGA DIARIA, luego proba si funciona. 
Este codigo te permite borrar de a un registro o varios a las vez, es decir si seleccionas una sola celda que corresponde a un registro entonces se borra la fila correspondiente a dicho registro, si seleccionas más de una celda en varios registros se borran las respectivas filas, luego se reordena todo.
Si puedo voy a intentar subir el archivo mas tarde. Saludos

5RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 11/01/14, 10:38 am

tyno


Por cierto, no se si esto también resuelva el tema del otro post, porque veo que se trata en ambos post del mismo archivo PRUEBA BORRADO2.

6RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 11/01/14, 04:54 pm

rubito1


hola tyno;la verdad es que no me funciona;si te fijas en el archivo,en la hoja planilla, ya hay un codigo que "al borrar en la hoja carga diaria"hace que se borren aca(en planilla)los adtos "manuales;
el codigo parece andar bien pero tiene 2 problemas
1)como podras ver en el codigo,le puse hasta la fila 300 solamente(yo quiero ponerle mas,hasta la fila 1000 de ser posible)pero sucede que pasando los 300, empieza a tardar un monton de tiempo,no se si se puede mejorar eso,haciendo que,si apartir de una celda a no hay datos entonces que pare el calculo...?

2)quiero que se "reordene" la "carga diaria"hacia arriba,ocupando los espacios vacios;no que se "eliminen"filas
el tema es que al reordenarse aca,en la hoja "carga diaria"no me coincidiran los datos que se cargan en la "planilla" con los datos "manuales"
3)se me ocurre algo asi como que en la "carga diaria" los datos se "copien y peguen "ocupando los espacios vacios y luego se "borren"esos datos copiados;se entiende?

7RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 11/01/14, 07:23 pm

tyno


mmm, la verdad que no me doy cuenta como debe funcionar tu archivo. 
¿Has creado un CommandButton en la Hoja CARGA DIARIA? y luego le has insertado el código que te detallé?
En la Hoja CARGA DIARIA vi le mensaje en amarillo que dice "subir filas", por lo tanto la macro que hice hace eso: borra las filas seleccionadas que se qieren borrar pero no elimina dichas filas, ya que no es lo mismo eliminar que borrar, luego se re ordenan los datos.
Por esto no me queda claro como funciona el archivo.
Me gustaría que me expliques como es el proceso y como deben funcionar las cosas, por ejemplo:
1 seleccionar un registro de la Hoja xxxx
2 borrar dicho registro
3 ordenar  con macro...

Esto anterior sería una manera de explicar como funciona tu archivo y que procesos deben actuar en cada momento y como deben ser los resultados. Saludos

8RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 11/01/14, 07:29 pm

rubito1


quiero que:
al borrar datos de la hoja a,los cuales son tomados x una formula en la hoja b,ademas me borre datos que se ponen en forma manual en la hoja b(en las mismas filas)
luego quiero que al ordenar la hoja a para que no queden filas vacias(x los datos borrados),en la hoja b,los datos que x tener formula vana "subir" de posicion(x lo que se reordeno en la hoja a),haga que los datos que estan al lado,puestos "manualmente" en la hoja btambien suban,sino se "desincronizan"
espero que se entienda ahora(y gracias x tu paciencia!!!)

9RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 11:13 am

tyno


Hola rubito.
Ahora creo haber entendido mejor tu idea.
Lo que hice es simplemente una macro que luego de borrar los registros seleccionados en la Hoja CARGA DIARIA y sus correspondientes registros en la Hoja PLANILLA,  copie  los datos que han quedado en la Hoja CARGA DIARIA y los pegue en la Hoja PLANILLA. Por lo que veo los datos de las columnas A:L siempre tienen que ser iguales entre ambas Hojas, entonces no sería necesario ninguna formula que este extrayendo dichos datos.
En el caso que se inserten nuevos registros (por debajo de los que ya existian), entonces otra macro en la Hoja PLANILLA actualiza los datos.
Saludos
Archivos
PRUEBA BORRADO 2.zip
No tienes los permisos para descargar los archivos.
(94 KB)

10RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 12:56 pm

rubito1


esta muy bueno lo que hicistes y "casi"perfecto;digo casi porque si te fijas,al "borrar" los datos en la carga diaria,al ir a planilla,veras que las filas que contienen datos en las columnas "m " en adelante(que es donde se cargan datos manualmente)no coinciden con los datos de la izquierda(los datos de las colu. m hasta la columna T inclusive tambien deben ser borrados en conjunto con lo que se borro de la carga diaria;te adjunto nuevo archivo(por otro lado,se podra protegerlas celdas de la "planilla" para que no las pueddan borrar,sin que me afecte el uso de todas las macros que uso de reordenamiento y filtrados?
Archivos
borrado2bis.zip
No tienes los permisos para descargar los archivos.
(79 KB)

11RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 02:10 pm

tyno


Tenes razon, no me di cuenta que al eliminar columnas con un bucle no se eliminan las filas deseadas porque al eliminarse una fila la que esta por debajo sube una posicion y es omitida por el bucle en el proximo incremento.
Pero deberías modificar el código del CommandButton1 en la Hoja DESCARGA DIARIA de esta manera y creo que ya debería funcionar:

On Error Resume Next
Dim celda As Range

If ActiveCell.Row > 4 Then

a = MsgBox("CONFIRMAR ELIMINAR REGISTROS", vbOKCancel, "AVISO")
If a = vbCancel Then Exit Sub

Application.ScreenUpdating = False

With Sheets("PLANILLA")

For Each celda In Selection
'borrar registros Hoja CARGA DIARIA
Cells(celda.Row, 1).EntireRow = ""
'eliminar filas en Hoja PLANILLA
.Cells(celda.Row, 1).EntireRow = ""
Next celda

'ordenar datos Hoja CARGA DIARIA
Range("a5:l" & Range("a65536").End(xlUp).Row).Sort key1:=Range("a5"), order1:=1

'ordenar datos Hoja PLANILLA
.Range("a5:t" & .Range("a65536").End(xlUp).Row).Sort key1:=.Range("a5"), order1:=1

'actualizar datos columnas A:L Hoja PLANILLA
Range("a5:l" & Range("a65536").End(xlUp).Row).Select
Selection.Copy
.Range("a5:l65536") = ""
Application.EnableEvents = False
.Activate
Application.EnableEvents = True
.Range("a5").Select
.Paste
.Range("a5").Select
Sheets("CARGA DIARIA").Activate
End With

Application.ScreenUpdating = True
Application.CutCopyMode = False
Range("a5").Select

Else

MsgBox "Seleccionar un registro", vbCritical, "AVISO"
Exit Sub

End If

Te lo paso entero para que lo reemplaces todo. Saludos

12RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 06:00 pm

rubito1


no funciona!;luego de "borrar " con el boton,al hacer click en la "planilla"sale el error y detiene el codigo y sin borrar nada de la "planilla"si podes probalo para verlo

13RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 06:22 pm

tyno


Que raro, acabo de probar el mismo codigo que te pase y funciona bien. Te paso el archivo con el codigo.
Archivos
PRUEBA BORRADO 2bis.zip
No tienes los permisos para descargar los archivos.
(42 KB)

14RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 08:07 pm

rubito1


pareceria que anda barbaro,lo estoy probando;por ahora lo que vi es que al agregar un nuevo dato en la carga diaria,no me lo agrega/copia hasta haber "eliminado" una nueva tanda de filas;por otro lado,veo que si le pongo el codigo quer tenia antes(yo) el cual me agregaba las fechas en que modificabaa algo,no me lo toma;podras ver eso(si no es muy complejo,sino lo r3esolvere de otra manera)

15RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 08:42 pm

rubito1


otra cosa mas;si yo quisiera que tambien "borre" de la "planilla" agun dato de otra columna(yo ahora extendi ,vos pusistes que borre hasta la "coumna t" y yo le puse hasta la "bb",pero si en el 1/2 hay alguna columan que tambien quiero borrar,como le pongo;por ejemplo datoS de laS columnas AL:AI

Código:
'ordenar datos Hoja PLANILLA
.Range("a5:bb" & .Range("a65536").End(xlUp).Row).Sort key1:=.Range("a5"), order1:=1

ACA LE PUSE HASTA LA "BB"

16RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 12/01/14, 11:25 pm

tyno


El copiar y pegar aquellos nuevos datos que se carguen en la Hoja CARGA DIARIA funciona correctamente, acabo de probar este proceso en el mismo archivo que te pase. Es decir, la macro que inserte en la Hoja PLANILLA esta hecha para recopilar los nuevos datos de CARGA DIARIA, por lo que no serían necesarias las macros que tenías antes. Si has agregado las macros anteriores esto quizás este provocando el error que mencionas de que no copia bien los nuevos registros.

Con respecto al tema de borrar, la macro borra toda fila de la Hoja, por lo que no importa cuantas columnas utilices con datos:
For Each celda In Selection
'borrar registros Hoja CARGA DIARIA
Cells(celda.Row, 1).EntireRow = ""
'eliminar filas en Hoja PLANILLA
.Cells(celda.Row, 1).EntireRow = ""
Next celda

La propiedad EntireRow, indica la fila completa.

Esta instrucción:
'ordenar datos Hoja PLANILLA
.Range("a5:bb" & .Range("a65536").End(xlUp).Row).Sort key1:=.Range("a5"), order1:=1

Lo que hace es ordenar un rango, en este caso seria A5:BB(.Range("a65536").End(xlUp).Row), con Range("a65536").End(xlUp).Row se busca la primer fila con datos desde abajo hacia arriba desde una determinada referencia como ser a65536.

Saludos

17RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 13/01/14, 06:49 am

rubito1


verdaddddd,en realidad me exprese mal .me referia a reordenar,tenes razon;en un ratito vuelvo a probarlo(aca son las 6,30 de la mañana y debo ir a trabajar;en un  rato lo veo;gracias de nuevo;lo que me referia a los codigos que tenia antes,era xque con esos codigos me "colocaba" la fecha en que se "hacian "cambios en ciertas celdas y los tenia en ambas hojas,por eso pregunto si se pueden voilver a colocar e sos codigos

18RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 13/01/14, 09:00 am

rubito1


por otro lado,al margen de terminar con este tema,ya que tu ayuda ha sido invaluable y excelete,podras ir viendo otro tema que publique (impresion de etiquetas)a ver si podes ayudarme

19RESUELTO Re: "BORRADO" DE FILAS CON CODIGO el 16/01/14, 09:18 pm

rubito1


gracias!!!

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.