Saltar al contenido

Macros y programación VBA

Temas sobre la automatización de Excel utilizando macros y VBA. Errores de VBA. ¿No consigues que tus macros hagan lo que necesitas?

  1. Started by Colonques,

    Hola amigos. Estoy utilizando para pasar de Textbox a celda la forma format(textbox.value,"MM/DD/YYYY") para que meponga en las celdas día/mes/año y no me ponga al revés la fecha como con "DD/MM/YYYY". De momento no me da errores. ¿Está bien, se me puede presentar algún error? Gracias por la atención.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.6k visitas
  2. Started by carter2010,

    HOLA A TODOS UNA PEQUEÑA CONSULTA TENGO EL SIGUIENTE CODIGO: Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("D:D")) Is Nothing Then Range("B" & Target.Row) = Date Range("C" & Target.Row) = Format(Now, "hh:mm") Range("A" & ActiveCell.Row,1) = Format(PED-####), End(xlUp).Offset(,-1)).DataSeries End If End Sub[/CODE] [/color] [color=#000000]LO QUE QUIERO HACER ES QUE GENERE AUTOMATICAMENTE UN NUMERO DE REGISTRO EN LA COLUMNA [color=#ff0000]"A"[/color] , FECHA [color=#ff0000]"B"[/color] y HORA[color=#ff0000] "C"[/color] AL INGRESAR DATOS EN LA COLUMNA [color=#ff0000]"D"[/color] [/color] [color=#000000]…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 689 visitas
  3. Started by sretamalb,

    buenas tardes, Estoy haciendo una macro la cual necesito seleccionar varias combinaciones de checkbox pero me gustaría si existe algún código que pueda resumir el código ya que son muchas combinaciones. El archivo consta de 2 grupos de checkbox: Grupo1: 8 checkbox (que se pueden eligir todas las combinaciones, es decir, todos o solo 1, o 2 o 7, etc) Grupo2: 4 checkbox (Se debe elegir solamente 1 de los 4). Por tanto existen muchas combinaciones, por ejemplo: - 1 checkbox del grupo 1 con el checkbox1 del grupo 2 - 1 checkbox del grupo 1 con el checkbox2 del grupo 2 - 8 checkbox del grupo 1 con el checkbox1 del grupo 2 - 5 check…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.4k visitas
    • 1 seguidor
  4. Started by JoaoM,

    En el evento Private Sub Editar_Click() tengo esta rutina que me está quemando el coco, pues por veces funciona bien y otras no, algunas veces en el mismo producto me dice Salida mayor que existencia y otras veces no ' y = ComboBox1.ListIndex + 2 ' If TextBox10 > TextBox11 + TextBox15 Then ''Si la cantidad de salida es maior que la existente, manda advertencia ' MsgBox "SALIDA MAYOR QUE EXISTENCIA" & vbCrLf & Space(5) & "EXISTENCIA ACTUAL: " & (TextBox15) _ ' & vbCrLf & vbCrLf & "¡¡¡ DEBE ADICIONAR COMO MINIMO !!! " & ((TextBox10 - TextBox15)) _ ' & " UNIDADES", vbInformation + vbOKOnly, "Atención" ''Limpia ' Call ButonLimpia…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 660 visitas
  5. Invitado JorgePlay
    Started by Invitado JorgePlay ,

    Intento ayuda para crear una macro para comparar columnas de dos hojas distintas y posteriormente copiar celdas. El formato es el siguiente: Hoja1 Apodo_Nombre_Edad_Sexo_Calle_Ciudad_Cod_Pais_Estudios_Genero Luis_Luis Fernandez_20_V_Diagonal_Bar_08034_Esp_Sup_Let Ana_Ana Martinez_19_H_Espronceda_Bar_08025_Ep_Sup_Cie Jose_Jose Aguado_19_V_Mallorca_Hos_08014_Esp_Sup_Cie Marta_Marta Castell_21_H_Urquinaona_Bar_08027_Esp_Sup_Let Hoja2 Apodo_Nombre_Edad_Sexo_Calle_Ciudad_Cod_Pais_Estudios_Genero Marc_Marcos Luis Luis_Luis Fernandez Marta_Marta Castell Jorge_Jorge Luis Helena_Helena Rodríguez Al comparar la columna B ( Nombre ) de la hoja 1 con la columna B (Nom…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  6. Buen día estimados, En mi trabajo me han preguntado, si puede ser posible que en la hoja de cálculo un par celdas con información no pueda imprimirse con claridad o sea, que no sea muy entendible y además que no se pueda editar copiar la info o guardar como... abosolutamente nada mas que ver el archivo e imprimir de la manera como les describí anteriormente. Bueno lo que se me ocurrió fué de primero proteger la hoja de cálculo y el libro, luego creé un boton llamado "Imprimir", este haría la ejecución que al dar clic sobre el: Primero desbloquea la hoja para poder llevar a cabo la ejecución de la macros, Segundo que el texto de las celdas que no quieren que se impriman…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.9k visitas
  7. Started by Gerardo Arevalo,

    Hola a todos los del foro, quisiera saber si alguien tiene la solucion para optimizar estas formulas para realizar una macro y no estar arrastrando la formula cada que la necesito aplicar.. Tengo esta formula... =(2012-(EXTRAE(O2,5,2)+1900))[/PHP] [b][i]Calcular edad en base a la fecha de nacimiento[/i][/b] ... SORL[b]79[/b]0406636 [PHP]=SI(P2<24,"De 18 a 24 años",SI(P2<29,"de 25 a 29 años",SI(P2<34,"de 30 a 34 años",SI(P2<39,"de 35 a 39 años",SI(P2<44,"de 40 a 44 años",SI(P2<49,"de 45 a 49 años",SI(P2<54,"de 50 a 54 años",SI(P2<59,"de 55 a 59 años",SI(P2<64,"de 60 a 64 años",SI(P2<65,"de 65 a 69 años","mayor de 70 años"))))))))))[/…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  8. Started by CarlosKurt,

    Hola a tod@s. De antemano agradecer por su tiempo en el siguiente inconveniente que expongo. El inconveniente que tengo es que al aplicar el el código en el evento que dejare líneas abajo funciona correctamente, sin embargo cuando selecciono el rango de celdas B9:B18 y borro el contenido, sucede que de manera automática se colorea todo de color rojo en dicho rango. Como solucionarlo?, tomando en cuenta que es necesario que sea un evento. Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Application.Intersect(Target, Range("B15")) Is Nothing Then If Not IsNumeric(Target.Value) Then …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  9. Started by jesuspg,

    Hola de nuevo compañeros, ¿Cómo puedo hacer para mostrar toda la información contenida dentro de un array en un sólo cuadro MsgBox? Tengo el siguiente código de pruebas con dos opciones disponibles, pero ninguna de las dos funciona: Sub pruebas() ' Declaramos las variables... Dim miArray() As Variant miArray = Range(Cells(2, 1), Cells(2, 8)) ' Opción 1: ' MsgBox Join(miArray(1, 3), vbCr) ' Opción 2: For i = 0 To UBound(miArray) msgString = miArray(i) & vbCr Next i ' Mostramos el contenido del array... MsgBox "Los valores del Array son los siguientes: " & vbCr & msgString End Sub

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.3k visitas
  10. Started by lsmaniahotmail.com,

    buenas a todos , pido disculpas por preguntar ta lves cosas elementales , ya con la practica ire aprendiendo . la cuestion que me toca hoy es saber cual seria la instruccion para que en un txt del formulario (todod datos numericos) se llene como resultado de la division de otros 2 txt , intente con: Private Sub txtValorPresupUsd_Change() Dim Valor1 As Double Dim Valor2 As Double Dim valor3 As Double Valor1 = Val(txtValorPresup.Text) valor3 = Val(txtCotiz1.Text If txtValorPresup.Value <> "" Then txtValorPresupUsd.Value = Valor1 / valor3 End If txtValorPresupUsd.Value = Format(txtValorPresupUsd, "#,##0.00") …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 449 visitas
  11. Se que me dirán que es fácil, que lo encontramos en las opciones de pegado. No, tengo dos tablas, en una tengo datos de nombres fechas y mas. Y tengo otra tabla donde pongo los datos de la otra tabla jalándola con formula "=tabla2!c3" quiero que el formato de color se repita en la tabla1, según el formato que tengo en la tabla2. En este mismo foro encontré que hacían algo parecido pero con celdas desplegadas, en la misma tabla, yo lo necesito en tablas diferentes. Espero ser claro en lo que busco hacer. de antemano Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 966 visitas
  12. Started by chilaquil,

    Buenos dias expertos: Solicitando su ayuda con un pequeño problema el cual explico brevemente Tengo una macro que abre un numero determinado de archivos con un bucle con la instruccion Worksheet.open extrae infromacion y cierra dichos archivos mi problema es que cuando alguno de estos archivos trae formulas relacionadas con otros archivos al momento de abrirlo la macro me envia el sig mensaje y se detiene hasta no dar clic en actualizar o no actualizar, pudiera haber una manera de que no aparezca dicho mensaje o que se pueda dar clic automaticamente al abrirlo para que no se interrumpa el proceso. PD no considero necesario adjuntar algun archivo …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4k visitas
    • 1 seguidor
  13. tengo varios archivos, lo que necesito es que cada uno de ellos contenga el nombre del mismo en la primer fila y que esta abarque desde la columna A hasta la Q, a continuación les paso un ejemplo de lo que tengo: Como verán el nombre del archivo no aparece por ningún lado solo en la ventana arriba, lo que quisiera es que quedará de la siguiente forma: Como pueden ver en la segunda imagen el nombre del archivo aparece en la primer fila, como son muchos archivos necesitaría una macro que inserte esta fila con el nombre de cada archivo y con el formato combinado en cada archivo correspondiente es decir que al archivo que se llama Mis Comprobantes E…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 633 visitas
    • 2 seguidores
  14. Hola Estimados, Ustedes que son los mejores en Excel, Lo que necesito es que cuando se registre un producto de “Entrada de Mercadería” en precio pase Automáticamente a la pestaña de “entradas” y la columna “precio” al generar el reporte respectivo. Por otro lado quisiera pues algunos botones no me funcionan, están inactivos, estos son: “salida por cliente”; “stock actual por proveedor” “entrada por proveedor”, estos me gustaría que cumplan su función al presionarlos, por favor sería posible me apoyen en saber cómo lo Puedo hacer? Les dejo el adjunto. Muchas Gracias. Excel_Stocks 3.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  15. Buenas tardes; Estoy desesperado, no sé que le ha pasado a mí Excel. Al abrir una macro guardada de ayer el Excel no tarda nada en abrirse pero......si ese Excel que abro ( guardado ayer ) le guardo con otro nombre, le cierto y le vuelvo a abrir, se queda en la pantalla de iniciando durante 2 minutos (aprox.) Y luego se abre. Que puede pasar, me pasa con todas las macros que guarde. No he probado con Excel sin macro, luego probare. Sabéis cómo solucionarlo??. Muchas gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  16. Started by [email protected],

    Hola a todos buen día, hace poco termiiné de estudiar un curso rapido de Excel y terminé con exito la primera etapa de un proyecto que quiero implementar, al menos eso creía, resulta que este libro funciona hasta que lo cuelgo en una carpeta y lo uso como libro compartido: Les adjunto el archivo trabajado, lo que quiero lograr es trabajar con un libro compartido sin los errores que me aparecen: 1. No puedo proteger el libro 2. se deshabilita el boton que llama mi Formulario Principal, ubicado en la Hoja2 3. Ocultar y proteger ciertas Hojas. Pueden ingresar con ADMIN y contraseña 12345678. de antemano les agradeceré que me den una …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.4k visitas
  17. Started by roderick aburto,

    alguien tiene un excel con una formula para convertir de cielab a rgb

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
    • 1 seguidor
  18. Started by Suret,

    Buenos dias amigos mios, porfavor como seria una macro en excel que me empieze a numerar celdas: 1ro: Que la macro pida Prefijo, ejemplo: Item 2do Que la macro pida Numero inicial, ejemplo: 78.00 3ro que la macro pida una constante, ejemplo: 0.02 4to empezar la numeracion en un celda cualquiera: Celda C4= Item 78.00 Celda B5= Item 78.02 Celga G10= Item 78.04 y asi susecivamente, hasta finalizar con un esc.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 605 visitas
    • 1 seguidor
  19. Started by lmorente,

    Buenas gente, a ver si me podéis ayudar. Tengo un código con el cual creo una barra de progreso para ver el estado de la macro en ejecución. Hasta aquí todo perfecto. El caso es que la primera vez que ejecuto la macro una vez abierta la excel, todo funciona correctamente, es en las ejecuciones posteriores que la macro va excesivamente lenta. Este es el código que da problemas: Do While LineaActual < UltimaLinea ContadorEscalones = ContadorEscalones + 1 Me.Caption = "Calculando precio " & ContadorEscalones & " de " & NumeroEscalonesPrecios frm_Progreso.lbl_ProgressBar.Width = frm_Progreso.lbl_ProgressBar.Width + PixelesPo…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  20. Cuadros de Texto dependiente de un cuadro de lista (Userform) Hola, soy nuevo en el foro.saludos. Tengo una hoja llamada clientes: [ATTACH]40060.vB[/ATTACH]1.1 la cual contiene diferentes datos de clientes (fig 1.1). necesito crear un userfomm que al elegir el rut del cliente en un cuadro combinado, automáticamente modifique todos los datos (cuadros de texto) correspondiente al cliente. ejemplo La idea es elegir del cuadro combinado el rut (111-1), y los cuadros de texto sean llenados modificados (de acuerdo a la información de la figura 1.1) [ATTACH]40062.vB[/ATTACH] al seleccionar el rut, automáticamente el nombre , la dirección, la ciudad, tipo cliente …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  21. Hola Foreros!! Tengo un macro que hace parpadear el fondo de un rango de celdas si en una determinada celda hay cualquier valor numérico. Pero sólo me funciona cuando introduzco directamente el valor en la celda; cuando el valor proviene de una fórmula no se ejecuta el macro. Además me gustaría que no solo reconociera el valor numérico sino cualquier texto en general. He probado con Private Sub Worksheet_Calculate() pero no me funciona El código que me funciona es el siguiente: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("AR5:BB19"), Target) Is Nothing Then If WorksheetFunction.Count(Range("AR5:BB…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  22. Started by viejo,

    hola que tal expertos espero me puedan dedicar un poquito de su tiempo y pasciencia para aclarar esta duda que tengo ya que lo que intento hacer es una especie de control tipo calendario con un combobox donde al darle click en un combobox me despliegue un formato parecido al del dtpicker o calendario donde el combo box tiene un formato de este tipo combobox = Format(combobox, "dd/mmmm/yyyy") he logrado hacer una lista para dia otra para mes y otra para año, pero estan en distintos comboboxes mi pregunta es el como unir esas listas para que aparescan en un solo combobox,,,no he querido utilizar los calendarios o los dtpicker pporque no forman parte estandar de e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.3k visitas
  23. Started by rotenman1,

    Hola amigos expertos, muy buenas tardes, me he encontrado con una limitante en un archivo en el que trabajo, y esperaba que me brindarán un poco de su tiempo para asesorarme y con ello poder resolver este problema. Tengo una hoja "Pagos" y una "compras a crédito", en la hoja pagos mediante una lista de validación ubicada en la celda "B9", se encuentran los números de serie de las facturas o registro de movimiento. Mediante esta lista pretendo llenar todos los campos debajo"A11:F27", por ejemplo; al momento de elegir un registro de factura, automáticamente se llenasen los campos antes mencionados de la hoja "compras a crédito".Si observan en mi archivo esto se logra hac…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
  24. Started by Miguel0763,

    Hola , quiero insertar un boton de opcion en un formulario para hacer traspasos entre cuentas, que al hacer click en el boton opcion se muestre un combo box y al anotar el importe se descuente de una cuenta y se carge en otra cuente. saludos envio un archivo CuentasClaras.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  25. Started by jprz,

    Buenas noches, quisiera que me ayuden con lo siguiente. Necesito una macro para poder poner un mensaje de derecho de autor en la barra de estado de un libro de Excel (En la parte inferior). Ejm. Hecho por Edu..... He intentado con esta macro pero no me sale el mensaje Private Sub Worbook_open() Application.DisplayStatusBar = True Application.StatusBar = "Hecho por Edu" End Sub Nota. El mensaje que quede permanente y nadie pueda borrarlo.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 5k visitas

Información básica de protección de datos

  • Responsable: Sergio Andrés Celemín
  • Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.
  • Legitimación: Consentimiento del interesado.
  • Destinatarios : Hetzner Online GmbH.
  • Duración: Mientras se conserve este post o hilo en la comunidad, o decidas eliminar el comentario.
  • Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email [email protected]

Información adicional: Encontrarás más información en la política de privacidad.