Jump to content

johan moreno

Members
  • Content Count

    113
  • Joined

  • Last visited

1 Follower

About johan moreno

  • Rank
    Advanced Member
  • Birthday 09/27/1979

Contact Methods

  • Twitter
    @fjnmorenod

Profile information

  • Gender
    Hombre

Recent Profile Visitors

1,592 profile views
  1. Gracias amigo Qwerty123 Efectivamente gracias Pueden Cerrar el Tema
  2. Hola amigos de foro Como siempre consultando y solicitando su ayuda.. En una tema anterior el Amigo Ikanni (Muchas Gracias), me ayudo con la forma para realizar la macro que transferia por hojas la informacion de una tabla aqui el link de mi Consulta El Archivo Filtro IK.xlsm tiene la función de generar hojas (en un Segundo Archivo Mayor) con la data, mediante un combobox y lo mas importante transferir data, creando la hoja sino existe, de existir lo copia como data nueva, 1.- Con un Combobox Genera una a Una cada Cuenta 2.-Con una Macro(Transferir) genera una corrida con todas las cuentas cuentas contable (hoja cuenta) 3.- Mediante un Listbobox Generar solo las cuentas seleccionadas (Aqui su ayuda) Para agilizar el uso del archivo agregue un listbox (MUltiseleccion), que me muestra las Cuentas,en ese Listbox podría seleccionar por eiemplo de 3 o 10 o mas cuentas especificas. Intente con un bucle que uso para imprimir pero falla el código su ayuda como siempre a todos Private Sub CommandButton3_Click() Dim i As Integer If MsgBox("Desea Generar los Analisis Seleccionados", vbInformation + vbYesNo) = vbYes Then For i = 0 To (Frm_FiltrarCta.List_Cta.ListCount - 1) If Frm_FiltrarCta.List_Cta.Selected(i) = True Then If IsNull(List_Cta.Value) Then Exit Sub Call Transferir(List_Cta.Value) End If Next i End If End Sub Mayor.rar
  3. Exactamente lo que buscaba.... Muchas Gracias Pueden dar el tema por cerrado.
  4. Muchas Gracias por tu valiosa ayuda... Si amigo Ikanni efectivamente el procedimiento esta bien pero el código cuando le das "No", igual borra los registro en la zona amarilla como detallo en la imagen... y copia la informacion en la ultima fila vacia... Borra de C:F... en el rango de A si deja el codigo....
  5. Buen dia Amigo Ikanni Efectivamente es lo que requería... Buenisimo Haciendo las pruebas del archivo, funciona sin problema creando las hojas de forma automática, solo que, cuando ya la hoja esta existe, borra la información ya en la hoja Es decir si la hoja existe debería copiar después de la ultima linea ocupada. Lo hace pero borra el rango (amarillo) anexo imagen en amarillo Lo que hice fue seleccionar el misma item del combobox dos veces para simular el copiado de la información De verdad muchas Gracias
  6. Gracias por tu ayuda Ikanni Efectivamente es lo que el archivo realiza... Esa opción que creaste funciona perfectamente y seria una opción para generarlos análisis de forma individual. Pero si requeria tu ayuda con una macro que genere las hojas o cuentas de todos los item del Combobox, como una especie de bucle.. Es decir con esa Macro que generaste pero dentro de un bucle que me recorra todo las cuentas del Combobox de forma directa sin tener que seleccionar una a una desde el combobox... como una especie de corrida masiva... tengo las cuentas por ejemplo Banco1 BANCO2 BANCO3 BANCO4 SI lo hago con el formulario puedo seleccionar por ejmplos banco1 y banco3 y creo esas hojas(tu modificacion hace esto), pero si uso el boton me genera banco1,banco2,banco3,banco4 y todas las demas cuentas, con un solo click. De verdad amigo gracias por tu ayuda..
  7. Hola Amigos del Foro Recurro a su valiosa ayuda para avanzar en un archivo que he venido adaptando para una automatización que requiero. Tengo 2 Archivos 1.-Filtro Archivo.xlsm 2.-Mayor.xlsx El archivo 1.-Filtro Archivo.xlsm tiene 2 Hojas 1.a.- En esta hoja “PROFIT” esta la data de la información a filtrar en 5 columnas Código/Fecha/Referencia/Descripción/saldo CODIGO FECHA REF DESCRIPCION SALDO 110102 31/1/2020 4 223 0000008291 TRAN,J306725024AUTOMERCADOS PLAZA'S, C.A./J306725024 AUTOMERCADOS PLAZA'S, C.A. (45.760,00) 110102 31/1/2020 4 225 0000008296 TRAN,J000797218INVERSIONES LUVEBRAS, C. A./J000797218 INVERSIONES LUVEBRAS, C. A. (520.498,19) 110102 31/1/2020 4 227 0000008297 TRAN,J000202001FARMATODO, C.A./J000202001 FARMATODO, C.A. (691.050,01) 110102 31/1/2020 4 229 0000008298 TRAN,J312047291CORPORACION 2128, C.A./J312047291 CORPORACION 2128, C.A. (980.000,00) 1.b.- En esta Hoja “CUENTAS”tengo las Cuentas Contable. 2 Columnas Código(6digitos)/Cuenta Contable(Nombre) CODIGO CUENTA 110102 CAJA GENERAL 110201 BANCOS BICENTENARIO 110202 BANCOS SOFITASA 110203 BANCO PLAZA Lo que hace el archivo es mediante un Combox (cmb_lista), tomo las cuentas contable de la hoja(Cuentas) y filtro la información de la hoja(Profit), lo muestra en un Listbox(Listbox1) y mediante un botón llamado “Generar Analisis”, envio esa información al Archivo2 (Mayor), que esta cerrado y protegido (con clave:1234) en un carpeta designada con una subcarpeta (Esto lo he logrado con ayudas en el foro (Ultima Ayuda Haplox), cumple 2 condiciones a.- No existe el Analisis (Hoja con nombre de la cuenta) el archivo crea la hoja y copia lo que filtro el Listbox. b.-Si existe la hoja el código selecciona la hoja y Copia la información del Listbox en la ultima línea de la información. La Data de la Hoja PROFIT, debo actualizarla mensualmente por lo que debere filtrar mes a mes. Public Sub TransferirANalisisSinMSGBOX() Dim nombrehoja Application.ScreenUpdating = False abrirRuta On Error Resume Next With Frm_FiltrarCta nombrehoja = .LblNomCta.Caption If ActiveSheet.Name <> .LblNomCta.Caption Then Windows("mayor.XLSX").Activate ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Select ActiveSheet.Name = nombrehoja 'Titulo Analisis TituloFormat ActiveWorkbook.Sheets(nombrehoja).Cells(7, 2) = "Info" ActiveWorkbook.Sheets(nombrehoja).Cells(4, 3) = .Cmb_Lista.Text ActiveWorkbook.Sheets(nombrehoja).Cells(4, 4) = .LblNomCta ActiveWorkbook.Sheets(nombrehoja).Cells(8, 2) = .Lbl_Contar ActiveWorkbook.Sheets(nombrehoja).Cells(1, 2) = "ª" ActiveWorkbook.Sheets(nombrehoja).Cells(3, 2) = "ª" ActiveWorkbook.Sheets(nombrehoja).Cells(4, 2) = "ª" ActiveWorkbook.Sheets(nombrehoja).Cells(5, 2) = "ª" ActiveWorkbook.Sheets(nombrehoja).Cells(6, 2) = "ª" Final = GetNuevoR(ActiveWorkbook.Sheets(nombrehoja)) + 6 For i = 0 To .ListBox1.ListCount - 1 xCodigo = .ListBox1.List(i, 0) 'Cantidad xFecha = .ListBox1.List(i, 1) 'Código de Producto xReferencia = .ListBox1.List(i, 2) 'Nombre del Producto o Descripción xDescripcion = .ListBox1.List(i, 3) 'Precio Venta xMonto = .ListBox1.List(i, 4) 'Importe ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 2) = xCodigo ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 3) = xFecha ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 4) = xReferencia ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 5) = xDescripcion ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 6) = Val(xMonto) Final = Final + 1 Next Range("B7").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= _ True, Alignment:=True, Border:=True, Pattern:=True, Width:=True Else 'Copiar el listbox en el archivo Mayor 'ActiveWorkbook.Sheets(nombrehoja).Range("B" & Sheets(nombrehoja).Rows.Count).End(xlUp).Offset(1, 0).Select Final = GetNuevoRCopiar(Sheets(nombrehoja)) For i = 0 To .ListBox1.ListCount - 1 xCodigo = .ListBox1.List(i, 0) 'Cantidad xFecha = .ListBox1.List(i, 1) 'Código de Producto xReferencia = .ListBox1.List(i, 2) 'Nombre del Producto o Descripción xDescripcion = .ListBox1.List(i, 3) 'Precio Venta xMonto = .ListBox1.List(i, 4) 'Importe ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 2) = xCodigo ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 3) = xFecha ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 4) = xReferencia ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 5) = xDescripcion ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 6) = Format(xMonto, "#,##0.00") Final = Final + 1 Next End If End With Windows("Mayor.xlsm").Activate Windows("Mayor.xlsx").Close True Windows("Filtros Archivo.xlsm").Activate End Sub Que es lo que requeria… con el código TransferirAnalisisSinMsgbox hace el procedimiento 1 a 1, cada cuenta que selecciono, Su valiosa ayuda aquí… adaptar este código para que se genere en forma repetida por cada una de las cuentas que están en el Listbox1(Hoja Cuentas). Esto con la finalidad de 1- poder generar como una especie de corrida de cuentas(su ayuda) y 2.- si deseo generar cuentas especificas(la macro TransferirAnalisisSinMsgbox), agregando un botón para separar la 2 formas de generar los análisis. Es importante recalcar que en el hojas “cuentas” están todas las cuentas que existen son 167, pero la hoja Data, esta la información del mes por lo que habría la posibilidad de que en un mes existan cuenta que no tengan data en la Hoja “Profit”. De verdad toda la ayuda que puedan prestarme... Muchas Gracias Mayor.rar
  8. Muchas Gracias... Haplox es lo que requería... El código de la funciones lo copie de un canal en youtube.... No soy programador, soy contador y bueno la necesidad de automatizar me ha obligado a tratar de aprender y de convertirme en un Frankenstein (jajaja), cortando y pegando códigos que me ayuden a llegar a mi idea final. Estaré haciendo una consulta mas de este mismo archivo, una vez que adapta lo que me adjuntaste, intentare corregir lo de la función... Muchas Gracias Amigo
  9. Buenos días, Amigos del Foro Su ayuda con una manera de Buscar que no he podido ubicar algo parecido en el foro. Tengo un archivo con 2 Hojas 1.- Profit Esta la información o Data (Listbox) CODIGO FECHA REF DESCRIPCION SALDO 110102 31/1/2020 4 223 0000008291 TRAN,J306725024AUTOMERCADOS PLAZA'S, C.A./J306725024 AUTOMERCADOS PLAZA'S, C.A. (45.760,00) 110102 31/1/2020 4 225 0000008296 TRAN,J000797218INVERSIONES LUVEBRAS, C. A./J000797218 INVERSIONES LUVEBRAS, C. A. (520.498,19) 110102 31/1/2020 4 227 0000008297 TRAN,J000202001FARMATODO, C.A./J000202001 FARMATODO, C.A. (691.050,01) 110102 31/1/2020 4 229 0000008298 TRAN,J312047291CORPORACION 2128, C.A./J312047291 CORPORACION 2128, C.A. (980.000,00) 2.- Cuentas (información para el Combobox) CODIGO CUENTA 110102 CAJA GENERAL 110201 BANCOS BICENTENARIO 110202 BANCOS SOFITASA 110203 BANCO PLAZA 110204 BANCO DEL CARIBE En un Userform Tengo 1 Combobox que me permite traer la información de la Hoja Cuenta, el archivo que anexo, con el combobox filtra por el número de Cuenta y un Listbox que me muestra la información de la Hoja Profit, lo cual funciona sin problema´. Ejemplo 110202. Banco Sofitasa Lo que intento es colocar el nombre de la cuenta y no el codigo de la cuenta, El inconveniente es que en la hoja donde está la DATA (Profit), No tengo el nombre de la cuenta, por lo que si intento actualizar el Combobox para que pueda seleccionar el nombre y filtrar por ese campo el listbox no actualiza la información. Habría alguna forma de que con el Combobox aparezca el nombre de la cuenta y no el código y actualice el Listbox Anexo el archivo, su ayuda de siempre Mayor.rar
  10. Hola amigos del foro ubicando información de varias fuente, canalizando código... pude dar con la macro que me permite 1.-Filtrar con un combobox por CÓDIGO de la Cuenta, tanto en el Combobox (cmb_Cuenta), como en el TextBox(Txt_Cuenta) 2.-Llenar el Listbox con la información de la Cuenta Seleccionada que me trae 5 campos. 3.-Abrir el Archivo Mayor que se encuentra Cerrado 4.-Verificar si existe una hoja con el CÓDIGO de la Cuenta que previamente Filtre en el Combobox. 4.a.-Si la hoja NO EXISTE, coloca el nombre de la hoja con el CÓDIGO (120202) de la Cuenta, y copia la información en el rango luego del titulo. (el ran 4.b.- Si la hoja EXISTE, se copiando la información del Listbox en la parte baja de la data que ya tiene la hoja.(la data que no tiene formato ni color Anexo el Código de la macro con lo que logre adaptar mi requerimiento. Public Sub TransferirANalisisSinMSGBOX() Dim nombrehoja abrirRuta On Error Resume Next With Frm_FiltrarCta nombrehoja = .LblCuenta.Caption If ActiveSheet.Name <> .LblCuenta.Caption Then Windows("mayor.XLSX").Activate ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Select ActiveSheet.Name = nombrehoja 'Titulo Analisis ActiveWorkbook.Sheets(nombrehoja).Cells(1, 2) = "Codigo" ActiveWorkbook.Sheets(nombrehoja).Cells(1, 3) = "Menu Ppal" ActiveWorkbook.Sheets(nombrehoja).Cells(1, 5) = "NOmbre Empresa" ActiveWorkbook.Sheets(nombrehoja).Cells(1, 4) = "Imprimir" ActiveWorkbook.Sheets(nombrehoja).Cells(2, 2) = .Cmb_Lista ActiveWorkbook.Sheets(nombrehoja).Cells(3, 2) = "NOmbre Empresa" ActiveWorkbook.Sheets(nombrehoja).Cells(4, 2) = .Cmb_Lista 'Titulo Tabla ActiveWorkbook.Sheets(nombrehoja).Cells(5, 2) = "Codigo" ActiveWorkbook.Sheets(nombrehoja).Cells(5, 3) = "Fecha" ActiveWorkbook.Sheets(nombrehoja).Cells(5, 4) = "Referencia" ActiveWorkbook.Sheets(nombrehoja).Cells(5, 5) = "Descripcion" ActiveWorkbook.Sheets(nombrehoja).Cells(5, 6) = "Saldo" Final = GetNuevoR(ActiveWorkbook.Sheets(nombrehoja)) + 4 For i = 0 To .ListBox1.ListCount - 1 xCodigo = .ListBox1.List(i, 0) 'Cantidad xFecha = .ListBox1.List(i, 1) 'Código de Producto xReferencia = .ListBox1.List(i, 2) 'Nombre del Producto o Descripción xDescripcion = .ListBox1.List(i, 3) 'Precio Venta xMonto = .ListBox1.List(i, 4) 'Importe ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 2) = xCodigo ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 3) = xFecha ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 4) = xReferencia ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 5) = xDescripcion ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 6) = Format(xMonto, "#,##0.00") Final = Final + 1 Next Range("B5").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= _ True, Alignment:=True, Border:=True, Pattern:=True, Width:=True Else 'MENSAJE = MsgBox("La hoja de cálculo """ & nombrehoja & """ YA " _ '+ "Existe.", vbOK, "Atención!!!") 'Copiar el listbox en el archivo Mayor 'ActiveWorkbook.Sheets(nombrehoja).Range("B" & Sheets(nombrehoja).Rows.Count).End(xlUp).Offset(1, 0).Select Final = GetNuevoRCopiar(Sheets(nombrehoja)) For i = 0 To .ListBox1.ListCount - 1 xCodigo = .ListBox1.List(i, 0) 'Cantidad xFecha = .ListBox1.List(i, 1) 'Código de Producto xReferencia = .ListBox1.List(i, 2) 'Nombre del Producto o Descripción xDescripcion = .ListBox1.List(i, 3) 'Precio Venta xMonto = .ListBox1.List(i, 4) 'Importe ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 2) = xCodigo ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 3) = xFecha ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 4) = xReferencia ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 5) = xDescripcion ActiveWorkbook.Sheets(nombrehoja).Cells(Final, 6) = Format(xMonto, "#,##0.00") Final = Final + 1 Next End If Windows("Mayor.xlsm").Activate Windows("Mayor.xlsm").Close Windows("Filtros Archivo.xlsm").Activate End With End Sub Por estos puntos ya parte de la consulta esta cerrada. Tengo una duda con respecto al mismo código no se si hago un Post nuevo o continuo con este Tema. 1.- Duda Como hago para que en vez de usar en el Combobox(Cmb_Cuenta) el Código de la Cuenta use el Nombre de la Cuenta. 2.- Duda Como haría para que este código que se genero (TransferirANalisisSinMSGBOX), se genere con todos los Item del Combobox, es decir si tengo en el combobox 30 Item no tenga que seleccionar uno a uno cada registro sino que se corra la macro repetidamente con los 30 registro por ejemplo. A la espera de su orientación y ayuda Muchas Gracias
  11. Hola amigo en una aportunidad realice una consulta en el foro y me facilitaron el codigo para consolidar 3 archivo en uno, este codigo me oriento para adecuarlo a lo que necesitaba espero te sirva. Sub Consolidar() ' Asumimos que los archivos están en una carpeta llamada Consolidar bajo el disco C ruta = "C:\Consolidar\" ' Abrimos los 4 archivos 'Workbooks.Open Filename:="C:\Users\Freddy Johan Moreno\Desktop\Consolidado.xls" Workbooks.Open Filename:="C:\Users\Freddy Johan Moreno\Desktop\Archivo1.xls" Workbooks.Open Filename:="C:\Users\Freddy Johan Moreno\Desktop\Archivo2.xls" Workbooks.Open Filename:="C:\Users\Freddy Johan Moreno\Desktop\Archivo3.xls" ' Seleccionamos la hoja Base del archivo Consolidado y la inicializamos. ' Dejamos los nombres de los campos, que se supone que están en la fila 1 Workbooks("Consolidado.xls").Activate Sheets("Base").Select ' Averiguamos la última fila grabada en este archivo ufila = Range("A1").End(xlDown).Row ' Borramos los datos Range("A2:Z" + Format(ufila)).ClearContents ' Copiamos los datos del primer archivo Workbooks("Archivo1.xls").Activate Sheets("Base").Select ufila1 = Range("A1").End(xlDown).Row Range("A2:Z" + Format(ufila1)).Copy Workbooks("Consolidado.xls").Activate Sheets("Base").Select Range("A2").Select ActiveSheet.Paste 'Repetimos el mismo procedimiento con los otros dos archivos a consolidar Workbooks("Archivo2.xls").Activate Sheets("Base").Select ufila2 = Range("A1").End(xlDown).Row Range("A2:Z" + Format(ufila2)).Copy Workbooks("Consolidado.xls").Activate Sheets("Base").Select Range("A" + Format(ufila1 + 1)).Select ActiveSheet.Paste Workbooks("Archivo3.xls").Activate Sheets("Base").Select ufila3 = Range("A1").End(xlDown).Row Range("A2:Z" + Format(ufila3)).Copy Workbooks("Consolidado.xls").Activate Sheets("Base").Select Range("A" + Format(ufila1 + ufila2)).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").Select ' Cerramos los archivos de datos Workbooks("Archivo1.xls").Close Workbooks("Archivo2.xls").Close Workbooks("Archivo3.xls").Close ' Grabamos el archivo Consolidado Workbooks("Consolidado.xls").Save End Sub Espero te sirva a tu propósito.... Deberías colocar tu archivo para que lo expertos del foro te ayuden con lo especifico de tu duda
  12. Version 1.0.0

    19 downloads

    Hola Sres dejo por un userform con diseño.... Mi primer aporte, soy asiduo visitante de la pagina para descargar y leer... No soy programador Gracias a todos por sus aportes, Mis respetos
  13. Hola Amigos del Foro Estuve tratando de Adecuar el archivo que adjunte en mi consulta y pude adaptarlo un poco, en el punto 2 Ya el archivo logra abrir el archivo,(mayor), crear la hoja con el Numero del Código de la Cuenta, y si la hoja existe me confirma que existe. Lo que no he logrado hacer es que me Coloque el nombre de la cuenta y no el numero de la cuenta por Ejemplo 120202 Banco Sofitasa es decir aunque seleccione la cuenta 120202 me debe crear la hoja con el nombre Banco Sofitasa Tampoco he podido copiar la información (filtro del Combobox) a la hoja de lo que me crea en la hoja nueva. En el caso que la hoja exista debe copiar debajo como registros nuevos en la hoja creada. Su ayuda de Siempre... Muchas Gracias
  14. Hola Amigos del Foro Como siempre agradezco de antemano la ayuda que puedan darme para una adecuación que estoy tratando de realizar a un archivo Tengo 2 Archivos llamado Filtro Archivo (Archivo 1) y Mayor (Archivo 2) En el Archivo Filtro Archivo (Archivo 1) , tengo 3 hojas a.- Hoja Profit allí tengo la data de la información Resumen adecuada en 5 Columnas CODIGO FECHA REF DESCRIPCION SALDO b.-Hoja Cuenta Esta hoja posee las cuentas contables en las 2 Columnas CODIGO CUENTA c.-Hoja Ruta allí esta la información con la ruta y el archivo del Archivo Mayor (Archivo 2) ****En el Archivo Filtro Archivo Tengo un formulario que filtra la información con un Combobox, tomando el Código (Numero) de cuenta de la hoja CUENTA*, con esto filtro en el LIstbox las 5 Columnas de la hoja Profit, y con un textbox hago el filtro por código de la cuenta también Aquí mi primera ayuda 1.- Quiero usar el combobox para filtrar por nombre la información de la cuenta. (hay que tomar en consideración que la información de la cuenta en la Hoja Profit solo esta el código y no el nombre de la cuenta), ¿tendría como que hacer un buscarv e VBA en la hoja Cuenta? Y quiero filtrar con un textbox por Codigo de Cuenta. 2.-La información que filtro en el Listbox se envie al archivo2 Mayor que esta ubicado en la ruta que especifica la hoja RUTA en el Archivo1 FiltroArchivo. Si la hoja existe copie la información en la hoja en la parte de abajo sino que se cree la hoja en el Archivo Mayor con el formato En conclusión El archivo Filtro Archivo servirá para almacenar la información que luego mediante un listbox, se filtrara para copiar las cuentas en hoja separadas en el archivo Mayor. Su ayuda de siempre Gracias Mayor.rar
×
×
  • Create New...

Important Information

Privacy Policy