Jump to content

Enigma25

Members
  • Posts

    2,405
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by Enigma25

  1. Precisamente te sugerí el Bucle For Next para que recorras cada una de las hojas sin usar WorkSheets("Nombre_Hoja") con su respectivo nombre el cual si tendrás problemas cuando cambies el nombre de la hoja (Pestaña) y lo verás en el futuro. Si estás haciendo referencia a cada hoja con su respectivo nombre, ya no necesitarías el bucle For Next. Por otro lado, he corrido el código sugerido y he cambiado el nombre por cada prueba y no me arroja el error que comentas. Intenta cambiando el bucle For Next por lo siguiente: For I = 1 To Sheets.Count Worksheets(I).CommandButton1.Enabled = True Next I y/o For I = 1 To Sheets.Count Worksheets(I).CommandButton1.Enabled = False Next I
  2. Fuera de la condición, justo debajo de End If incluye la siguiente linea: Hoja4.CommandButton1.Enabled = True
  3. El siguiente codigo valida si el nombre coincide con tu variable y si no coincide, inhabilta los botones(controles) de cada una de tus hojas. P. D. Debes tener el mismo nombre del boton(CommandButton1) en cada una de tus hojas para que funcione. Private Sub Workbook_Open() Dim I As Integer Dim nombre As String Dim archivo As String archivo = "C:\carpeta\libro1.xlsm" nombre = ActiveWorkbook.FullName If nombre = archivo Then For I = 1 To Sheets.Count Sheets(I).CommandButton1.Enabled = True Next I MsgBox "Hola Se ha revisado el nombre del libro" Else For I = 1 To Sheets.Count Sheets(I).CommandButton1.Enabled = False Next I MsgBox "No tendra acceso a los formularios" End If End Sub
  4. Pregunta: Tu base de datos tienes solo esas tablas o solo eliges esas unicas tablas para copiar? Porque lo que pienso que estas buscando es crear un backup de tu base de datos siempre y cuando sea de toda tu base de datos. Si es asi, puedes emplear una libreria llamada : microsoft scripting runtime y con la cual podrás crear tus copias de seguridad con solo tener la ruta actual y creando por medio de variable o lo que desees una ruta donde coloques tu copia de seguridad con un nombre concatenado con la fecha-hora y segundo para que asi tengas la misma base de datos de respaldo unica por cada vez que la requieras crear
  5. A mi me gusta mucho que muestro a continuación porque yo le digo en el evento KeyPress cuales son los que deseo que se digiten y me evito muchos inconvenientes. If InStr("0123456789" & Chr(8), Chr(KeyAscii)) = 0 Then KeyAscii = 0 Luego puedes incluir otros caracteres o símbolos que desees incluir y listo
  6. Recomendaría trabajar con el nombre del Objeto WorkSheets y emplear un bucle For Next como verás a continuación y con ello tendrías "Menos lineas de código" que es mas o menos lo que creo que esperas hacer. Dim I As Integer With Hoja1 For I = 1 To 5 .Cells(1, I).AddComment .Cells(1, I).Comment.Text Text:="Titulo " & I .Cells(1, I).Comment.Visible = False If I = 3 Then I = I + 1 Next I End With Espero que sea mas o menos lo que esperas. Mis respetos.
  7. Por lo que entiendo, debes convertir el dato a fecha tal como haces con la función Val() (Que por cierto no recomiendo si usas decimales a menos menos que solo sea entero pero igual no lo recomiendo). Si vas a registrar fecha en las celdas desde el control ComboBox, según el numero de iteraciones de tu bucle, le dices algo así: Hoja1.Cells(i + 1, 3).Value = CDate(ComboBox2) 'Si es que tienes la fecha en el control o Hoja1.Cells(i + 1, 3).Value = CDate(Date) 'Si es que es la fecha del sistema
  8. Hola Benito Por lo que puedo notar es que tienes la llamada al procedimiento Verificar en el evento BeforeUpdate de tu TextBox cuando deberias tenerlo en el evento Change y posteriormente en el evento AfterUpdate es donde validarías tu variable Vr para que si está en false, entonces haga la llamada al formulario para registrar el nuevo cliente y con ello ya tienes solucionado esa parte. Lo otro es el orden de la tabulaciones de tus controles en donde el primer Frame debe ser 0, el segundo Frame debe ser 1 y el TexBox donde quieres el foco que sea 0 y en ese control con su indice de tabulación 0 tendrás el foco sin problemas. Mis respetos @Gerson Pineda
  9. Es increíble que este juego lo vea en Excel...! Que recuerdos...Muchas gracias en verdad!
  10. Version 1.0.0

    94 downloads

    En matemática, el triángulo de Pascal es una representación de los coeficientes binomiales ordenados en forma triangular. Es llamado así en honor al filósofo y matemático francés Blaise Pascal, quien introdujo esta notación en 1654, en su Traité du triangle arithmétique.1 Si bien las propiedades y aplicaciones del triángulo fueron conocidas con anterioridad al tratado de Pascal por matemáticos indios, chinos o persas, fue Pascal quien desarrolló muchas de sus aplicaciones y el primero en organizar la información de manera conjunta.2 El triángulo de Pascal se puede generalizar a dimensiones mayores. La versión de tres dimensiones se llama pirámide de Pascal o tetraedro de Pascal, mientras que las versiones más generales son llamadas simplex de Pascal.
  11. Version 1.0.0

    26 downloads

    Buenas noches En esta oportunidad les comparto un archivo para el calculo del factorial. Probando con Internet me di cuenta que los cálculos son incorrectos a partir del número 21 por lo que el formulario del archivo solo permite hasta el numero 20 para calcular el factor. La regla es la siguiente : n!=nx(n-1)! Lo hice a manera de practicas y resolver la ecuación que tanto se ha hablando en la red por lo que me uní a los que tanto buscan la solución a un problema matemático y/o ejercicio. Espero les sea de utilidad. Saludos cordiales.
  12. Version 1.0.0

    29 downloads

    Buenas noches Estimados En esta oportunidad les dejo a su alcance un código para separar una cadena de texto o números que este pegados, insertando el símbolo (-) Ejemplo: Cadena original : aaaaaaaaa Cadena resultante : aaa-aaa-aaa Se puede crear una lista de cadenas bien sea texto o números o los dos a la vez. Siempre que estén pegados. Igualmente funciona si está separado pero la idea es aplicarlo según sea el caso. La idea es, ademas de conocerla es obtener otra alternativa cuando querramos hacerlo por medio de VBA y no bajo formatos personalizados. Una vez intenté hacerlo por medio del formato personalizado pero no funcionaba con letras y números. si alguien conocer de un mejor modo, estaré muy atento a su comentario. P.D. Funciona cada tres letras, si gustan pueden cambiar a cuatro concatenando el código : & Mid(.Cells(Lin, 1), (I + 3), 1) 'Y el Step lo incrementan a 4 Mis respetos para todos.
  13. Version 1.0.0

    42 downloads

    Estimados La conjetura de Collatz es otro ejemplo con el cual se puede resolver empleando VBA en Excel bien sea en una hoja o formulario. En el siguiente adjunto, les dejo el archivo para que descarguen y vean su funcionamiento. Enunciado: Sea la siguiente operación, aplicable a cualquier número entero positivo: Si el número es par, se divide entre 2. Si el número es impar, se multiplica por 3 y se suma 1. La conjetura dice que siempre alcanzaremos el 1 (y por tanto el ciclo 4, 2, 1) para cualquier número con el que comencemos. Ejemplos: Comenzando en n = 6, uno llega a la siguiente sucesión: 6, 3, 10, 5, 16, 8, 4, 2, 1. Empezando en n = 11, la sucesión tarda un poco más en alcanzar el 1: 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1. Espero que igual les sea de utilidad para analizar y/o practicar así como lo fué ara su servidor. Mis respetos.
  14. Version 1.0.0

    47 downloads

    Buenas noches Estimados señores Les comparto un aporte el cual me gustó investigar y aprender ya que el tema de la Secuencia de Fibonacci es un tema muy interesante y espero lo sea para ustedes. MIs respetos.
  15. Version 1.0.0

    21 downloads

    Buenas noches estimados Les dejo un aporte de practica el cual se llama "Frecuencia de Fibonacci". Es un tema muy interesante el cual me interesé por averiguar y espero ustedes compartan la misma inquietud y aventura por este tema. Estoy seguro que les será muy útil en su aprendizaje. Mis respetos. Fibonacci.xlsm
  16. Proverbios 27:11 "Sé sabio, hijo mío, y regocija mi corazón, para que pueda responder al que me está desafiando con escarnio."

×
×
  • Create New...

Important Information

Privacy Policy