Jump to content

AlexanderS

Moderators
  • Content Count

    1,287
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by AlexanderS

  1. Un gusto también @Gerson Pineda, de echo ese fue el código, de mi primer mensaje, pero si te fijas bien el orden de tabulación de los checkbox esta desordenado, por lo que el resultado no se muestra de manera correcta. Se puede utilizar pero habría que corregir primero el orden de los 40 checkbox... Saludos.
  2. Saludos @Visor, un gusto haberte ayudado.
  3. Cometi un error en el código que te pase, este estaria correcto: Private Sub CommandButton1_Click() Dim x As Range Dim resul As String Set x = Hoja4.Range("B:B").Find(Me.ComboBox1, , , xlWhole) If x Is Nothing Then Exit Sub nf = x.Row Cells(nf, "DN") = "" For i = 1 To 40 If Me.Controls("Chbx" & i) = True Then resul = resul & Me.Controls("Chbx" & i).Caption Else resul = resul & 0 Next Cells(nf, "DN") = resul End Sub Saludos.
  4. Hola @Visor, copia este código en el CommandButton1 Código eliminado Comentas. Saludos.
  5. Hola @Fernando1492, explicate con un archivo de ejemplo. Normas de Foro Saludos.
  6. Hola @johan moreno y @Haplox, suponiendo que el archivo destino = Resumen 123 se encuentra en la misma carpeta que el archivo Origen = Sistema 123 y lo que quiere es copiar el módulo 1 al archivo destino. Sub copia_modulo() Dim Libro As Workbook Dim origen As VBIDE.CodeModule Dim Destino As VBIDE.CodeModule ArchivoDestino = ThisWorkbook.Path & "\Resumen 123.xlsx" '<< - - Ruta del archivo al que se le copiara el modulo Const Modulo = "Módulo1" '<< - - Nombre del modulo a copiar Set Libro = Workbooks.Open(ArchivoDestino) Set origen = ThisWorkbook.VBProject.VBComponents(Modulo).CodeModule Set Destino = Libro.VBProject.VBComponents.Add(vbext_ct_StdModule).CodeModule Destino.AddFromString origen.Lines(1, origen.CountOfLines) End Sub Recuerda tener habilitada la opción "Confiar en el acceso al modelo de objetos de proyectos VBA". Saludos a ambos.
  7. @meduvilla ya que resolvimos el tema principal de esta consulta demos por cerrado el mismo, si tienes mas dudas puedes abrir nuevos temas con tus dudas (esto por normas del foro) . Textbox8 = cdbl(Textbox7) - cdbl(Textbox6) Saludos.
  8. Intenta así: Private Sub CommandButtSAVE_Click() uLinea = Range("B" & Rows.Count).End(xlUp).Row + 1 Range("N" & uLinea).Value = Me.TextBox8.Text Range("O" & uLinea).Value = Me.ComboBox2.Value Range("Q" & uLinea).Value = Me.ComboBox3.Value Range("I" & uLinea).Value = Me.Lebel13.caption Range("P" & uLinea).Value = Me.Lebel15.caption Range("R" & uLinea).Value = Me.Lebel16.caption Range("B" & uLinea).Value = Me.Lebel20.caption
  9. @meduvilla adjunta un archivo ejemplo tal como lo indican las Normas de este foro. Saludos a todos.
  10. Exactamente lo que indica FloP, falta un punto. Saludos
  11. Hola, al momento de escribir en el combobox una letra la formula devuelve un error al no encontrar el dato buscado. Mi consejo es no utilizar el "Vlookup" si no la función nativa de VBA "Find" : Private Sub ComboBox1_Change() Dim x As Range Set x = Sheets("hoja1").Range("E:E").Find(Me.ComboBox1, , , xlWhole) If x Is Nothing Then Exit Sub Me.Label11.Caption = x.Offset(, 1) Me.Label12.Caption = x.Offset(, 2) Me.Label10.Caption = x.Offset(, 3) End Sub Si no funciona debes subir un archivo de ejemplo. Comentas. Saludos.
  12. Hola existe una función llamada "RegExp" la cual encuentra los caracteres no validos dentro de una cadena de texto, luego por medio de la función "Replace" los podemos eliminar. Dejo un ejemplo. Sub Reemplazar_caracteres() Dim Permitido As String Dim r As Object Permitido = "[^a-z0-9-]" Texto = "Prueba()/&%& #99 8" Set reg = CreateObject("VBScript.RegExp") With reg .Global = True .IgnoreCase = True .Pattern = Permitido If .Test(Texto) Then MsgBox .Replace(Texto, "") 'Resultado = Prueba998 End With End Sub Saludos a ambos.
  13. Hola, es probable que sea un add-in, hay uno parecido llamado MZ-Tools lo probé hace un tiempo lo que hace es añadir ayudas o atajos para facilitar la programación. Es una versión de prueba de 30 días https://www.mztools.com/v8/download_trial.aspx Saludos.
  14. Concuerdo con @Haplox, no entiendo la relación entra las columnas del txt y las del excel. Saludos.
  15. Saludos @Zak, por favor sigue las Normas del Foro en tus publicaciones nos ayudara a entender mejor tu consulta. Adjunta el formato de excel, el txt y una muestra de como deberían quedar los datos. Saludos.
  16. Hola @ddcjorge, estas tratando un control como si fuera un string por eso te da un error, intenta asi Dim nombres As Variant Dim nombre As Variant nombres = Array("Gandalf", "Hobbit 5", "Hobbit 6", "Radagas", "Sarman", "Alondra", "Azulejo", "Canelo", "Carriquí", "Casa de Muñecas", "Colibrí", "Esmeralda", "Garza", "Golondrina", "Mayo", "Paloma", "Torcaza", "Tucán", "Turpial", "Primavera", "Verano", "Otoño", "Invierno", "Flora", "Fauna", "Camping") For Each nombre In nombres Me.Controls("lblManana" & nombre).BackColor = 255 Next nombre Comentas, saludos.
  17. Hola @soda1206, no puedes subir archivos que superen los 100kb, puedes tratar de comprimirlo en ZIP o puedes subirlo a un servidor externo como drive y compartir el enlace. Saludos.
  18. Aunque lo conocí poco, a través de sus mensajes y aportes al foro puedo darme cuenta de que era una gran persona y un gran colaborador. Mis mas sinceras condolencias a toda su familia y que descanse en paz.
  19. Hola @mimoya, entonces solo debe hacer lo del rango de fecha y lo de la cantidad de caracteres no? Si es así te dejo mi macro adaptada. Saludos a todos. TODO_DICIEMBRE_Riddle.xlsb
  20. Hola, en realidad es mas rápido escribir dentro dentro de una variable, dejo mi aporte y me robo el cronometro de cacho. Saludos a todos. problema_RIDDLE.xlsm
  21. @julmaram1 bienvenido al foro!!! Saludos.
  22. Hola @JBS, no te funciona porque estas declarando la variable "micelda" como el rango B5 de la hoja activa, por lo cual debes hacerlo dentro de bucle de esta forma: Sub Prueba_Variables_Objeto() Dim mihoja As Worksheet Dim micelda As Range For Each mihoja In Worksheets Set micelda = mihoja.Range("b5") With micelda .Value = 100 .Interior.Color = vbBlue End With Next mihoja End Sub Donde si notas debes indicar también a que hoja pertenece el rango mihoja.Range("b5") Saludos.
  23. Hola a todos, dejo mi aporte basado en el código de @Antoni solo que en lugar de utilizar una hoja utilizo el registro de windows para guardar los datos. Saludos. formulario (5).xlsm
  24. Hola @Arturo Castillo Chavez, crea un nuevo tema con tu consulta, este tema es de hace 4 años. Te invito a visitar las Normas del foro, para que puedas obtener la mejor ayuda posible. Ten en cuenta que este es un foro de ayuda en temas puntuales, si lo que buscas es un trabajo completo lo vas a tener difícil. Saludos.
  25. Hola @Manuyes, puedes colocar este código en el formulario: v Private Sub ComboMeses_Change() lista End Sub Private Sub UserForm_Initialize() For x = 2017 To 2020: ComboAños.AddItem x: Next For x = 1 To 12: ComboMeses.AddItem UCase(MonthName(x)): Next End Sub Private Sub lista(): On Error Resume Next Me.ListBox1.Clear For Each cel In Range([A2], [A1].End(xlDown)) If CDbl(Year(cel)) = CDbl(Me.ComboAños) And CDbl(Month(cel)) = CDbl(Me.ComboMeses.ListIndex + 1) Then Me.ListBox1.AddItem CDate(cel) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = cel.Offset(0, 1) End If Next End Sub Comentas. Saludos.
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png