Jump to content

ikanni

Members
  • Content Count

    286
  • Joined

  • Last visited

  • Days Won

    8

ikanni last won the day on April 21 2017

ikanni had the most liked content!

About ikanni

  • Rank
    Advanced Member

Profile information

  • Localización:
    Tafalla

Converted

  • Campos
    ;

Recent Profile Visitors

1,451 profile views
  1. Hola a todos, Te dejo otra opción diferente a como planteas lo que quieres hacer. LibroOrigen4.xlsm
  2. Hola Karla12, Mira a ver sí te vale esto. Saludos Copia de infooo..xlsm
  3. Hola Lidya, Una de las maneras para mover carpetas en MSOfficce es con el Objeto FileSystemObject. Si es un excel que se va a dedicar a mover archivos y carpetas, activaría la referencia ‘Microsoft Scripting Runtime'. Y así podrás usar el Intellisense. El objeto FSO en cuestion tiene el método MoveFolder. Te sirvirá para tus propósitos. Aquí hay más información y algún ejemplo de FSO https://vba846.wordpress.com/file-system-object-para-vba/ Saludos
  4. Hola a todos, Bueno me he permitido hacer mi versión. Tambien te permite jugar con los colores de las fuentes. 😉 Saludos Colorea.xlsm
  5. Hola a todos, Bueno te dejo dos funciones que calculan y devuelven el digito control de un NIF/NIE y del CIF. El digito control es el digito en ultima posición en todos los casos. Con esto te lo puedes apañar para lo que necesites. '-------------------------------------------------------------------------------------------- 'Función que determina la letra del NIF/NIE '-------------------------------------------------------------------------------------------- Function CodigoNIFNIE(ByVal DNI As String) As String Select Case Left$(DNI, 1) Case Is = "X" CodigoNIFNIE = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (Val(Replace(DNI, "X", "0")) Mod 23) + 1, 1) Case Is = "Y" CodigoNIFNIE = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (Val(Replace(DNI, "Y", "1")) Mod 23) + 1, 1) Case Is = "Z" CodigoNIFNIE = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (Val(Replace(DNI, "Z", "2")) Mod 23) + 1, 1) Case Else CodigoNIFNIE = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (Val(DNI) Mod 23) + 1, 1) End Select End Function '-------------------------------------------------------------------------------------------- 'Función que determina el dígito de control de un CIF '-------------------------------------------------------------------------------------------- Function DigitoCIF(ByVal CIF As String) As String Dim A As Integer, B As Integer, C As Integer, i As Integer Dim temp As String Dim CIFDigito As String A = 0 B = 0 temp = Mid(CIF, 2, 7) 'Se obtienen los dígitos centrales CIFDigito = Right(CIF, 1) 'Dígito de control For i = 1 To 6 Step 2 A = A + Mid(temp, i + 1, 1) 'Suma de posiciones pares C = 2 * Mid(temp, i, 1) 'Doble de posiciones impares B = B + (C Mod 10) + Int(C / 10) 'Suma de digitos de doble de pares Next i 'Para obtener el cálculo de la cifra de la séptima posición que no se trata en el bucle B = B + ((2 * Mid(temp, 7, 1)) Mod 10) + Int((2 * Mid(temp, 7, 1)) / 10) 'Se obtiene la unidad de la cifra total C = (10 - ((A + B) Mod 10)) Mod 10 Dim Digito As String Dim Letras As Variant Letras = Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I") Select Case (Left(CIF, 1)) 'Los CIF que comienzan por estas letras deben terminar en una letra de la lista anterior Case "K", "P", "R", "Q", "S", "W" DigitoCIF = Letras(C) 'Los CIF que comienzan por estas letras deben terminar en un dígito Case "A", "B", "E", "H", "J", "U", "V" DigitoCIF = C 'Para el resto de CIF, la terminación puede ser un número o una letra Case Else If IsNumeric(CIFDigito) Then DigitoCIF = C Else DigitoCIF = Letras(C) End If End Select End Function
  6. Hola Marcos14, una manera de hacerlo sería algo así: 'AL iniciarse el UserForm 'Llenamos el combobox Private SubUserForm_Initialize() Dim Hoja As Worksheet ComboBox.Clear For Each Hoja in WorkSheets ComboBox.AddItem Hoja.Name Next End Sub 'Al seleccionar alguna hoja nos vamos a la hoja seleccionada 'Evento Al cambiar del Combo Private Sub ComboBox_Change() Sheets(ComboBox).Select End Sub Esto te muestra todas las hojas. Para filtrarlo con las hojas que necesitas te lo dejo para que practiques. Escrito al boleo Saludos
  7. Hola Marcos, Mi consejo es que sí no vas a usar archivos (Excel) mayores a 2GB o en el caso que tuvieras archivos de Excel superiores a a 2GB yo lo dividiria en archivos mas pequeños de 2gb y seguiria usando Office de 32 bits. Para automatizar archivos de 64bits te encontraras con muchos problemas que tendran soluciones, pero a nivel de programacion mas alto. Saludos
  8. Hola Diego, (y a tod@s) Acabo de hacer las pruebas y funciona de maravilla. Para referenciar un hoja xlsm,xlsa,... no tienes mas que ir a : Lo primero hay que saber el nombre del proyecto a referenciar, que no siempre es el nombre del libro. - Ventana Editor de VBA : Menu Herramientas-----> Propiedades de ..... ( Ahi te dice el nombre de tu proyecto). Que si le das clicck accedes a las propiedades del proyecto. Lo puedes modificar al gusto. PASOS............ 1.- Ventana Editor VB : Menu Herramientas--->Referencias ::::::: Click 2.- Ventana Referencias : Boton Examinar ::::: Cuadro de dialogo para que elijas el archivo que quieras referenciar. Buscas tu Excel; lo seleccionas y aceptas. 3.- Ventana referencias : Cuadro de lista con todas las referencias que tienes, lo tienes delante. En esa lista tendras ya tu excel para referenciar con el nombre de tu proyecto (*). Busca y activa su check, seguramente estará el ultimo. O en mi caso con of2010 me sale ya chekeada. Boton Aceptar ::::: Click (*) Ah!, el nombre, no es el del archivo excel sino el del nombre que tiene el proyecto. Explicado arriba. Veras que en la ventana del Explorador de proyectos, tu excel ya esta referenciado. SI hace cambios en tu Excel Referencia, cuando vuelvas a abrir la excel, estaran los cambios hechos. Se refresca de su referencia cada vez que lo abres. Cierra todo. Y ya puedes usar sus funciones y procedimientos desde tu excel. Espero haya sido constructivo. Saludos
  9. Hola a todos, Poder si se puede y no es nada dificil. Si se tiene acceso remoto a la Excel que tiene el código. Desde el editor de VBA crea una referencia a la excel en cuestion. Y en cuanto la referencies tendrás acceso al codigo del libro en cuestión. No lo he hecho en Excel pero si en Access.
  10. Hola Luis Paz, Bueno la verdad es que los datos de las tablas que colgastes estan hechas un cisco. No consigo entender como tienes los registros introducidos y su relación. Para que te haría algo necesito mas información, como ¿Los titulos se puede repetir dentro de una ley. Los capitulos se pueden repetir dentro de un titulo. Los articulos se pueden repetir dentro de un capitulo. Hay parrafos dentro de un mismo articulo que se repiten, no entiendo porqué, en fin y mas información de la que nos has puesto. Despues de mirar y remirar los datos introducidos yo cambiaria las tablas y las indexaria de otra manera. Te pego una imagen de como extructuraria las tablas. Pero para mas pruebas necesitao mas información.
  11. ANdo muy liado, pero dame un poco de tiempo y le echo una ojeada en profundidad
  12. Hola Luis Paz, Le he echado un vistazo y no has hecho nada de lo que te dije. Antes de hacer formularios, crea la BBDD sino no te valdrá para nada. Con está nueva todavia me he perdido más, la verdad no entiendo nada. No hace falta que carguestodo. Introduce 3/4 registros principales para que vea la relación. En lo que me has enviado no veo nada.
  13. Hola todos, mira a ver si te vale este ejemplo que hice hace bastante tiempo. Lo tendrás que apañar para tu trabajo
  14. Hola Luis, Según te entiendo;Bueno lo que pides yo pienso que hay que estructurarlo de diferente manera a como lo has estructurado tu. Mi consejo seria 1.- Tabla Leyes : nada que decir 2.- Tabla Articulos : Nada que decir 3.- Tabla titulos: ahi ya me perdido. El campo Ley, yo tambien lo indexaria, osea que vaya con el indice de la tabla Ley (Como en la tabla ariculos. Y despues crearia un campo que le daria orden y secuencia a los articulos. Por ejemplo. Titulo1 con una descripcion 8@10@9@ Que significa Titulo1 con los articulos 8, 10, 9 y en ese orden. 8 es el id de la tabla articulos,.... Eso luego, programaticamente puedes cambiar el orden, imprimirlo, visualizarlo, etc. 4.- Tabla Relacion Articulos : Ho haría falta Espero te de un poco de luz
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png