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.]

mery1217


Estimados colegas,
gracias de antemano por dedicarle tiempo a mi consulta. Estuve buscando el tema en el foro pero no logré identificar mi caso. 

Se me presenta una dificultad pero no estoy encontrando la manera sencilla de resolverlo, sin ponerle demasiadas condiciones que dificulta la operación.

Tengo un libro que es una base de datos de reclamos 'base de reclamos' que se alimenta de otros libros, que son reclamos individuales (algunos todavía no fueron creados).
Los reclamos se generan a medida que aparecen defectos y se guardan en la misma carpeta. siempre tienen el mismo formato, como se ve en los 2 ejemplos.

Quisiera básicamente que cuando alguien genere y guarde un nuevo reclamo en la carpeta, se guarden los datos en la base de reclamos de manera automática.
Si no hay un reclamo nuevo generado, quisiera que evitara escribir cualquier error en la base de reclamos. (a mi me quedan errores o termino escribiendo la fórmula de nuevo con el nuevo número de reclamo)

Muchas gracias por la ayuda de hoy y de cada vez.
Saludos

María de Buenos Aires
Archivos
base de reclamos.zip
No tienes los permisos para descargar los archivos.
(18 KB)

Igtelo


Hola María.

Gusto en saber de ti. ¿Cómo has estado?

Te concentra en la base todos los archivos, entiendo que siempre es un libro para cada defecto.

Revisa y comentas. Por la noche vuelvo a entrar.

Un abrazo.
Archivos
mery1217-Concentar.zip
No tienes los permisos para descargar los archivos.
(45 KB)

3RESUELTO muchas gracias! el 02/02/15, 06:20 pm

mery1217


Ignacio, 
ando bien. Con mucho trabajo, gracias a Dios. Espero que vos también estés bien.

Te agradezco nuevamente por tu tiempo y por tu ayuda.
Eso es exactamente lo que necesito. Dado que no tengo muchos conocimientos de Visual Basic, estoy tratando de llevar tu macro a mi archivo que es un poco mas complejo, sin éxito.

para empezar voy a poner la base de reclamos y los libros de incidentes en la misma carpeta.

Luego trataré de adaptar tu macro a mis libros de incidentes, dado que busca mucha info y por ahora no logro adecuarla. Apenas tenga novedades, te aviso
Muchas gracias de nuevo!

Igtelo


Que tal María.

No te quiebres la cabeza, aunque suene a presunción, mira éste video que subí y te aseguro que podrás adaptar el código sin problema alguno.

http://www.universoexcelforo.com/t1181-como-trabaja-una-macro-y-la-hoja-de-calculo-simultaneamente-videotutorial

Otro abrazo, jeje.

mery1217


Ignacio, 
efectivamente, tu video me dejó todo mucho más claro y pude ejecutarla de la manera que necesitaba.

Estoy súper agradecida. Este aporte le facilita la operación a mucha gente de mi equipo.

Lo único que no pude resolver es una serie de alertas que me levanta que dicen (lo escribo por si a nadie más le aparece):

*la hoja o fórmula que desea pegar o copiar contiene el nombre "Forma", que ya existe en la hoja de cálculo de destino. ¿Desea usar esta versión del nombre?
 - para usar el mismo nombre que el definido en la hoja de destino, haga clic en Sí
 - para cambiar el nombre del rango al que se hace diferencia en la fórmula u hoja de cálculo, haga click en No y escriba un nombre nuevo en el cuadro Conflicto de nombre

Si pongo 'sí' aparece el mismo cartel con contiene el nombre "Turno"; contiene el nombre "SINO"; contiene el nombre "Estado"; contiene el nombre '"Fase"; contiene el nombre "Pérdida_nivel_1"; contiene el nombre "PTSE"


Esto se repite tantas veces como libros de defectos entren en el loop. Busqué en la base de defectos y en los archivos individuales de defectos y no puedo ver esas fórmulas. No sé cómo evitar que siga preguntádome lo mismo cada vez que lo ejecuto pues desconozco el origen.

Subo el archivo con el cual tengo el conflicto con 3 ejemplos de reclamos en zip.

además dejo la macro que usé por si facilita el análisis.

muchas gracias nuevamente por este curso acelerado de macros! un lujo haberlo tomado

Sub acumulaRPNC()



'Concentra defectos


'Definición de tipos de variables:
Dim ruta As String, archivo As String, aviso As String
Dim w As Object


ruta = ThisWorkbook.Path                     'Variable que encuentra la ruta del archivo.
ChDir ruta                                          'Cambia el directorio a la ruta
archivo = Dir("*.xls*")                          'Variable para archivos que contengan xls (*es comodín, sirve para xls,xlsx,xlsm)
Set w = ThisWorkbook.Sheets("Base de RPNC")    'Variable w para fijar libro y hoja de trabajo (base de reclamos)
[B7:AO65000].ClearContents                    'Limpia rango
[AO5] = "Archivo de origen"                      'Encabezado en AO5


Application.ScreenUpdating = False       'Desactiva centelleo pantalla.
Do While archivo <> ""                        'Inicia bucle p/todos los archivos
If InStr(1, archivo, "Base de RPNC LIQUIDOS 2015") = 0 Then      'Para todos los archivos
Workbooks.Open archivo      'Abre el 1er. archivo a copiar


Sheets(1).[B8:J8].Copy
w.Range("B" & w.[B65000].End(xlUp).Row + 1).PasteSpecial xlAll    'Encuentra fila vacía en B y Pega datos del RPNC


[B10:J10].Copy
w.Range("K" & w.[K65000].End(xlUp).Row + 1).PasteSpecial xlAll    'Pega en la columan K los datos del RPNC


[B15:J15].Copy
w.Range("T" & w.[T65000].End(xlUp).Row + 1).PasteSpecial xlAll    'Pega en la columan T los datos del RPNC


[C20:H20].Copy
w.Range("AC" & w.[AC65000].End(xlUp).Row + 1).PasteSpecial xlAll    'Pega en la columan AC los datos del RPNC


[C21:H21].Copy
w.Range("AI" & w.[AI65000].End(xlUp).Row + 1).PasteSpecial xlAll    'Pega en la columan AI los datos del RPNC


w.Range("AO" & w.[AO65000].End(xlUp).Row + 1) = ActiveWorkbook.Name    'Pega nombre de archivo en AO
Application.CutCopyMode = False              'Limpia portapapeles (libera memoria)
            
Application.DisplayAlerts = False           'Desactiva las alertas
Workbooks(archivo).Close                    'Cierra el libro copiado
Application.DisplayAlerts = True            'Activa las alertas


End If                                                   'Cierre del If
    
archivo = Dir()    'Selecciona el siguiente archivo
Loop                 'Repite ciclo hasta terminar con todos los archivos


[A1].Select
Application.ScreenUpdating = True    'Activa centelleo pantalla


End Sub
Archivos
Base de RPNC LIQUIDOS 2015.zip
No tienes los permisos para descargar los archivos.
(135 KB)

mery1217


mando un ejemplo aparte del reclamo clásico porque el peso no me lo permitía

gracias!
Archivos
15 01 15 PC5.zip
No tienes los permisos para descargar los archivos.
(174 KB)

Igtelo


Hola María.

La macro trabaja bien, los avisos son por:

1.- Entra en conflicto por los "nombres de rango" que tienes creados, verifica los mismos. Los borré todos.
Para evitar éste problema debes nombrar en el libro base de datos con nombres distintos a los que tienes en los defectos y ya se soluciona.
Otra alternativa es que cambies el pegado a valores (xlvalues en lugar de xlAll), pero te va a dar problemas con las celdas combinadas

Ve que te conviene más, cambiar nombres o quitar celdas combinadas.

2.- Las validaciones de datos también te dan guerra por los nombres de rango, dejo un archivo con validación y otro sin validación, ambos los copia bien porque borre los nombres; pero debes cambiarlos (igual al pto. 1).

3.- Tenías la fila 6 con datos en tu base de datos con color de fuente "blanco", no afecta pero no entiendo por qué.


Otra alternativa sin que tengas que cambiar nada:

En los libros de defectos crea una hoja extra y copias y pegas los datos que tienes en tu 1a. hoja como "valores" y sin combinación de celdas (puedes hacer una macro sencilla con el grabador de macros).
Ya con los datos en la nueva hoja aplicas la macro...

Eliminé hojas y logos para poder subir la carpeta.
Archivos
Maria.zip
No tienes los permisos para descargar los archivos.
(140 KB)

8RESUELTO mil gracias! el 05/02/15, 12:29 pm

mery1217


Ignacio, tu idea fue excelente. siempre viene bien escuchar puntos de vista de expertos.

recién termino de modificar los documentos para que todo se copie en simple celda aparte y de ahí se copien al acumulado. anduvo increíble.

muchas gracias y espero que todos puedan sacar provecho de este caso que seguro le simplifica la vida a los que acumulan info de varios libros en uno (reclamos, facturas, remitos, etc)

saludos y muchas gracias

María

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.