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. Buen día Tengo este archivo al cual se le pueden estar copiando hojas nuevas que contienen las mismas macros ya que es una plantilla, la cantidad puede variar ,asi como el nombre de cada hoja , en un principio la nombre "curso1" , al cambiarle el nombre , la siguiente macro dejo de funcionar Private Sub Workbook_Open()With Sheets("Curso1") .Protect Password:="123", UserInterfaceOnly:=True .EnableOutlining = True End With End Sub [/CODE] Requiero que funcione para todas las hojas , aun si se le cambia el nombre, ya que para alimentar los datos de la plantilla es necesario desplegar las filas que tengo agrupadas de la 17 a la 122. Saludos y gracias. Plantil…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  2. Started by Pong01,

    Me pidieron realizar un proyecto, es un programa que clasifica películas, tomando datos de tablas que fueron insertadas en el excel desde un archivo .accdb. Se divide en 3 partes La primera te deja elegir mediante un combobox un actor, y te arroja en una listbox nombres de las películas donde aparece y el género de cada una. La segunda pestaña te deja elegir mediante un combobox una película, y te arroja los actores que están presentes en ella en una listbox. La tercera parte, y que es la que tengo problemas, se supone que desde un combobox se debe elegir un actor, y luego se debe poder agregar una película a la lista mediante un textbox, de manera que si yo voy a la…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 601 visitas
  3. Buenas Tardes foristas. Buenas tardes profesor JSD. Desde anoche he estado tratando de adecuar su excelente propuesta e insertarla al Proyecto, pero por más que he intentado no he logrado que funcione adecuadamente. Me explico: Yo copié el UserForm1 y el Modulo1 para mi Proyecto. Creé la Hoja4, la cual tuve que modificar y renombrar porque en mi Proyecto yo tengo una Hoja4, así que se creó como Hoja26 y estos cambios los sustituí en los códigos (Hoja4 por Hoja26) y aunque no me da ERROR alguno, tampoco me general el Reporte. Ortro problema que vi de su propuesta es que en PAGADO A: referente al Combustible debe decir Fincimex, no Financiamiento para…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 472 visitas
    • 2 seguidores
  4. Started by lsmaniahotmail.com,

    Saludos a todos los profes de esta gran materia , recurro a uds , si alguien puede ayudarme con el error que no me deja avanzar en mi proyecto . se trata de llenar un listBox y de acuerdo al registro seleccionado debe llenar los txt correspondientes , adjunto la programacion utilizada FSE2Nueva_facturacion.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 466 visitas
  5. Started by sers_demon,

    buenas, lo que pasa es que con esta aplicacion deseo subir puntos, y el programa es una maravilla.. pero al tratar de pas ar los puntos a autocad me salta el mensaje ''error 1004'' y me dice que no encuentra la ruta de acceso... y esto es lo que me muestra el depurador Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 20/11/00 por jhr ' ' MsgBox "Asegurese de que todos los puntos tienen codido, y que no hay ninguna fila en blanco. No elimine ni filas ni columnas, elimine el contenido de estas si es necesario." MsgBox "Se crearan dos archivos en el directorio raiz C:\ ;un fichero con extension 'dxf' y otro con extension 'xls', ambos con el mismo nombre que…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 875 visitas
  6. Hola compañeros, Llevo un tiempo con un problema en el siguiente código, y no sé cómo solucionarlo. Private Sub Worksheet_Activate() Cells().Columns().Ungroup ' 1 Columns(4).Group ' 2 Columns(5).Group ' 3 Me.Outline.ShowLevels ColumnLevels:=1 ' 4 End Sub Me gustaría insertar un condicional en la primera sentencia tal que "If Cells().Columns().Group = True Then Cells.Columns.Ungroup", para de este modo ejecutar el resto de las sentencias (la segunda, tercera y cuarta) sin problemas. Pero esa instrucción me da problemas... En otras palabras, un evento tal que al activar la hoja, se agrupen la…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.8k visitas
  7. Started by Bcordero,

    buenas tardes saludos Expertos, queria comentarles que estaba creando un codigo en el cual despues de una cantidad de datos (revisando que sea un producto y de ahi vaya a otra columna y ponga su nombre ) llega a un numero y busque el nombre de otro vendedor y continue haciendo lo mismo, pero da la casualidad que estaba creando el codigo de acuerdo a la base de datos, pero realmente si la distribucion de nombres seria distinta (x lo que se aprecia es orden alfabetico, pero si cambia) mi codigo genera error podrian ayudarme adjunto archivo no puedo mostrar el código porque es muy grande. gracias Saludos Brian ayudaDatos.zip

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 789 visitas
  8. Started by JuliusAndre,

    Buenas noches estimados, recurro a ustedes por qué no encuentro solución a este problema: Tengo un formulario en VBA para registrar pacientes, tiene varios Textbox para rellenar, pero para el registro no se llenan todos. El asunto es que cuando se hace el registro y se envían los datos a una Tabla en Excel, algunos de los TextBox vacíos llenan la celda con algun caracter invisible que hace que Excel considere a la celda no vacía. Si selecciono esas celdas me hace un conteo, pero las celdas aparentemente no tienen nada. Les adjunto la tabla, el error se da en las celdas de los encabezados rojos, y el codigo del boton de registro. Para evitar este error he coloca…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 928 visitas
    • 1 seguidor
  9. Started by Aretradeser,

    Cada vez que ingreso un registro, a través de un formulario, tengo que cerrar y volver a abrir el formulario para poder introducir otro registro; y, así sucesivamente. Si lo intento registrar a continuación uno de otro, me sale una pantalla que dice: "Valor de propiedad no válido" Podría tener algo que ver que los ComboBox del formulario, los tengo con la propiedad MatchEntry en 1-fmMatchEntryComplete, para obligar al usuario a que elija uno de los datos de la lista que se despliega del ComboBox e impedir que pueda escribir cualquier cosa. Esta la parte del código que utilizo para registrar los datos del UserForm: PrivateSubcmdRegistra_Click() DimSalirAsBoolean,Esta…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 899 visitas
  10. Started by Pirtrafilla,

    Hola a todos de nuevo. De nuevo con un problema con una consulta SQL desde Excel a Access. Pongo el código y explico. 'macro para grabar los datos en tabla Checklist Fin = ListBox1.ListCount For i = 0 To Fin - 1 xxx = ListBox1.List(i, 0) Conexión If IsNull(ListBox1.List(i, 9)) Then Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='" & ListBox1.List(i, 6) & "', En_Curso='" & ListBox1.List(i, 8) & _ "' WHERE ID =" & xxx Else Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
    • 1 seguidor
  11. Started by enrux,

    Hola Compañeros Tengo un problema Tengo el Siguiente Codigo Private Sub Workbook_Deactivate() Application.Calculation = xlCalculationAutomatic End Sub Private Sub Workbook_Activate() If Application.Calculation = xlCalculationAutomatic Then Application.Calculation = xlCalculationManual End If [/CODE] Funciona Bien pero Cuando selecciono algo de otro excel para Copiar -al abrir el Excel dek codigo ya no me deja pegar Como si se seleccionara.. eliminé el código de arriba y si deja Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 568 visitas
  12. Qué tal, tengo un problema tratando de copiar y pegar de un libro a la última fila disponible de otro libro, tengo una macro que con cuadro de diálogo me ayuda a seleccionar el archivo que quiero copiar y pegar dentro del libro en el que estoy ejecutando la macro, hay algo mal en mi macro ya que cuando trato de actualizar la tabla dinámica me aparece que el libro en el que estoy trabajando ya tiene datos y que si deseo reemplazarlos, cuando hago esto a mano, no me sale ninguna ventana y todo está bien, algo está haciendo mal pero no sé qué es. A su vez me proporcionaron una macro que me copia y pega como deseo pero el problema está en que cuando trato de implementarl…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 589 visitas
  13. Invitado Jorgecar
    Started by Invitado Jorgecar ,

    Hola, Tengo el siguiente problema que no podido resolver. El inconveniente es cuando se crea una nueva hoja como copia de otra existente y al tratar de acceder a la nueva y copiar datos, esto no es posible. Los datos que intento escribir los escribe a la anterior hoja nunca en la nueva. La siguiente es una muestra del programa. Alguien me puede ayudar, muchas gracias de antemano. Sub prueba() Dim nhoja, pos As String Dim hojanueva As Worksheet Dim nfila As Integer nhoja = "prueba" Worksheets("FORMATO").Activate Worksheets("FORMATO").Copy After:=Worksheets(Sheets.Count) ' Worksheets("FORMATO").Copy After:=Worksheets(nhoja) NO funciona Set hoja…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 654 visitas
  14. Tengo una macro que al exportar una seccion de excel exporta el rango en blanco sin informacion no se por que aqui el codigo Sub Descripcion_jpg() Sheets("Ingreso Productos variables").Select Dim B As String B = Range("C43").Value If B = 2 Then Exit Sub End If Sheets("Descripcion").Select ActiveSheet.Unprotect ("adctv530") Dim rgExp As Range: Set rgExp = Range("B22:K42") Dim archivo As String archivo = Range("A1").Value ''' Copy range as picture onto Clipboard rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap ''' Create an empty chart with exact size of range copied With ActiveSheet.ChartObjects.Add(Left:=rgExp.Left, T…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.1k visitas
  15. Started by story94,

    buenas... tengo 45 numeros y necesito combinarlos en grupos de 6 numeros por ejemplo: 1° combinacion = (01-14-26-45-20-15). Como vemos dentro de la primera combinacion solo hay 6 numeros, dentro del rango de (01 al 45). Hay 8145060 diferentes combinaciones y necesito poder visualizarlas todas pero no se como hacerlo. Habria alguna macro o programa que me ayude con esto. Muchas gracias.:fat:

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 892 visitas
  16. Hola de nuevo. Llevo varias horas con esto y no consigo trabajar bien con las horas en VBA. Ahora mismo el problema que tengo es que con este código no me suma los Textbox vacíos. Necesito que los sume como "cero". Porque a veces no hay hora de entrada, o tampoco final, simplemente porque ha estado de vacaciones. O por ejemplo no ha habido tiempo para comer porque se ha hecho la jornada continua. ¿Podéis ayudarme? Me da lo mismo que lo de en horas (hh:mm) que en decimal, pero que me de el resultado., que no sea un número entero. TextBoxT1 es el resultado, TextBoxS1 es la hora Final, TextBoxE1 es hora Inicio, TextBoxN1 es el tiempo para comer. Es decir que a…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
    • 1 seguidor
  17. Buenas noches nuevamente a los Foristas. A sugerencia de JSD de los problemas que le planteaba sobre el formulario, abro un nuevo tema. Ofrezco disculpas porque realmente es así como debe ser. El tema es el siguiente: Tengo en este formulario otros problemas que quizás puedan ayudarme: realmente he tratado de ver dónde está el error, pero mis conocimientos no alcanzan y ustedes son los MAESTROS. 1.- En el FrmPersonal trabajo lo que es el listado de Personal con todos los datos y las Nóminas de Salario. En la parte de las nóminas (LstNomina) ya lo configuré de tal manera que con el evento DobleClick pueda traer cualquier trabajador y poder modific…

    • 0

      Reacciones de usuarios

    • 24 respuestas
    • 1.5k visitas
    • 3 seguidores
  18. Started by ppladino,

    Buenos días amigos, tengo el siguiente inconveniente con una macro que he desarrollado; resulta que cuando coloco el formulario como no Modal, es decir la propiedad es ShowModal = False, esto para que se puedan utilizar otros libros de excel, entonces el cursor se pierde al hacer un alt+tab, haciendo que cada vez se tenga que dar clic sobre el formulario para llenarlo. Si me pueden ayudar como puedo solucionar esa parte les agradezco infinitamente.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 663 visitas
    • 1 seguidor
  19. Started by Bcordero,

    Que tal compañeros probando unas macros e intentado realizar un proceso, poseeo 2 macros las cuales funcionan perfectamente y logran lo que necesito pero ejecutando una por una e tratado de unirlas pero el resultado es distinto alguien me podria ayudar Modulo 1 ( este codigo funciona bien, si lo realizo por partes. Cuando lo integro no funciona, porque?) Sub Macro3() Cells.Select ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range( _ "P:P"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.ActiveSheet.Sort .SetRange Range("A1:Z4…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  20. Started by jose_luisc,

    Bueno, en otro post me ayudaron a resumir una macro que copia y pega datos, cuando la quise adaptar a mi archivo me daba el error reff, subo un ejemplo para ver que es lo que está mal Saludos y gracias de antemano Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
  21. Started by MarianoCruz,

    Hola buenas tardes: Estoy realizando un formulario para el registro de ventas diarias de mis productos, el proceso es el siguiente: 1. En un cuadro de busqueda ingreso cualquier parte del texo de mi codigo. y por medio de una lista me muestra las coicidencias a lo escrito, 2. selecciono la descripción que requiero y al seleccionarlo se muestra en un combox. 3. ingreso cantidad y precio, 4. Con el boton de registrar se ingresa en otra lista el codigo, la descripcion, cantidad, precio e importe. asi con los diferentes productos . el problema que me encontre es que si mi codigo buscado contiene una letra al registralo con el boton "registrar" e…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 447 visitas
    • 2 seguidores
  22. Started by juanmanuel85,

    Que tal, les cuento mi problema: Tengo una macro que envia correos a una columna determinada, gracias a la ayuda de los chicos del foro al agregarle la funcion "specialcells(2) inclusive puedo enviar correo aunque no esten todas las celdas completas... ( ejemplo en el archivo"FUNCIONA BIEN SIN CONDICIONAL") Agrege una hoja al archivo ("datos ")para hacer una condicion en la que si el estado del usuario es VENCIDO, figure un email en esa columna,sino " "... y ahora me sale un mensaje de error 1004 "NO SE ENCONTRARON CELDAS" al apretar el boton en la pestaña CORREO. adjunto los dos archivos el que anda bienj sin condicional y el que estoy teniendo probl…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.8k visitas
  23. compañeros tengo una gran duda, encontre este codigo para enviar un rango de datos en el cuerpo del correo, este rango tiene celdas con color, formato, etc... y existira la forma qe se vaya con todo y rubrica(firma). Gracias a todos por sus respuestas Sub Mail_Selection_Range_Outlook_Body() 'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm 'Don't forget to copy the function RangetoHTML in the module. 'Working in Excel 2000-2013 Dim rng As Range Dim OutApp As Object Dim OutMail As Object Set rng = Nothing On Error Resume Next 'Only the visible cells in the selection Set rng = Selection.SpecialCells(xlCellTypeVis…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  24. Started by SalvadorKahatt,

    Mi Macros transforma datos del Excel a txt separando las columnas por un palote, mi problema es que transfiere también la información de filas vacías agregando los palotes hasta el infinito. Sub CreaTxT() Dim NombreArchivo, RutaArchivo As String Dim obj As FileSystemObject Dim tx As Scripting.TextStream Dim ht As Worksheet Dim i, j, nfilas, ncolumnas As Integer NombreArchivo = "LE" & Cells(2, 4).Value & Cells(3, 4) & "0008010000" & Cells(4, 5) & Cells(5, 5) & Cells(6, 5) & "1" RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo & ".txt" Set obj = New FileSystemObject Set tx = obj.CreateTextFile(RutaArchivo) Set ht = W…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.3k visitas
  25. La verdad que no sé ni siquiera por dónde empezar. Bueno, en primer lugar pedir perdón si este tema ya se ha tratado en otro post, me ha sido imposible encontrarlo pero puede que ya se haya hecho la misma consulta. Intentaré resumirlo lo máximo posible para no desalentar a los que se aventuren con el problema. El libro Excel consta únicamente de una hoja en la cual hay dos tablas, una la llamo REAL y otra SIMULACIÓN. Ambas tablas están compuestas por los mismos conceptos: HORAS, LITROS, EXCESOS y RECARGOS, aunque los únicos datos que se deben modificar manualmente son los LITROS. La diferencia entre las dos tablas radica en que en la tabla SIMULACIÓN, los datos de la …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k 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.