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 Jonnass,

    Necesito una macro que me compare el nombre de hojas en dos archivos diferentes. Sin embargo los nombre no son iguales sino que son equivalencias. En el archivo "A", las hojas se llaman Alemania y Francia. En el archivo "B", las hojas se llaman DE y FR. Cuando encuentre el nombre que corresponde copio un rango de un archivo al otro. No sé si hay que hacerlo con equivalencias, variables ... ... gracias !!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  2. saludos el objetivo es que tengo una hoja llamada abono del libro prestamos control donde se almacenan los datos de todos los cobros a los clientes necesito hacer un filtro (consulta) con una fecha desde fecha hasta desde el userform1 que tiene dos textbox uno para cada fecha a filtrar(desde hasta) y que se pueda elegir a la ves el nombre del cobrador en un combobox para poder hacer inventario a cada cobrador en el rango de fecha que deseo; luego estos datos encontrados exportarlos a un nuevo libro donde se reflejen todos los datos filtrados en el mismo orden de la hoja abonos parece sencillo pero no he encontrado mucho en esto. agradezco la colaboracion este hac…

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 1.5k visitas
  3. Hola, mi nombre es Santiago y soy nuevo en el foro. Quisiera por favor pedir ayuda con este tema que me tiene muy trabado: Tengo una lista de nombres de nombres de cuentas de usuarios de un sitio web. Por ejemplo: mica_99 o Zeta_Florchu o CARP_12Mauro Paralelamente, yo mismo creé una lista de 1030 nombres y sobrenombres de mujer (columna B de Excel). Ejemplo: Maria o Florencia o Florchu o Micaela o Mica Lo que quiero hacer identificar si cada una de las celdas de la columna A contiene dentro de sí alguno de los valores presentes en la columna B (es decir, en un rango de valores). Pensé en lo siguiente: =SI(ESNUMERO(ENCONTRAR(B1;A1));"Correcto"; "Incorrecto") Esa f…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 7.2k visitas
  4. Buenas noches, tengo un problema es el siguiente Estando en vista normal y empiezo a actualizar la información de mi hoja seleccionando una opción de un combobox, esta se actualiza de forma rápida, pero cuando cambio a vista diseño de página y quiero seleccionar otra opción de mi combobox, la macro se vuelve lente, a qué podría deberse eso y que puedo hacer para que sea más rápido. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 608 visitas
  5. BUenas noches, he buscado casos similares en el foro para resolver casi la parte final de mi problema pero no he podido hallar solución, les adjunto archivo donde he estado avanzando mi macro, en la hoja3 tengo 02 combobox uno con el nombre de Oficina y el otro con el tipo de encuesta: cliente incógnito y post transacción, mi consulta es cómo puedo hacer para actualizar la información cuando selecciono otro nombre de Oficina del combobox, solamente he hecho para actualizar la información cuando cambio el tipo de encuesta Gracias Saludos Tabla Preguntas 2.zip

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  6. Started by bigf7,

    Hola a todos, La duda que tengo es como hacer recorrer un rango por ejemplo (A1:A5) en el siguiente ejemplo: Function Revo(A1:A5, y) For f = 1 To 100 Tiwr = (1 + f * (A1 / y))*(1 + f * (A2 / y))* ... *(1 + f * (A5 / y)) If Tiwr > wer Then wer=Tiwr If wer=Tiwr Then t=f Next f Revo = t End Function Lo que quiero es que me de la f que hace maximo el valor de Tiwr que depende del rango A1:A5 y y. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  7. Started by akira468,

    Quisiera me ayudaran en esto. Tengo un libro con 2 paginas la primera se llama maxtxt y la segunda se llama formula. Necesito macro para copiar desde pagina formula la celda A2 y pegarla en pagina maxtxt Celda C7. Private Sub maxtxt() Set Lcl = Range("B3") Set rg = Range("C7") rg.Copy rg.Offset(rg.Rows.Count, 0).Resize(rg.Rows.Count * [B5] - 1) fecha = Format(Now - 1, "mmdd") Application.ScreenUpdating = False Range("C7").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Workbooks.Add Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveWorkbook.SaveAS Filename:="C:\" & "Max" & fecha & "." & Lcl, …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 933 visitas
  8. Started by carlos178,

    Buenas, pues hoy tengo una duda, se trata de la posibilidad de utilizar google maps en Excel, pero no en hoja, sino en userform completamente. Ya he preguntado en varios sites y también consultado, pero no veo nada que sirva. Utilizando la hoja Excel sí que se puede hacer, pero con un userform no veo como. En el ejemplo que pongo, sería que si relleno los dos textbox con un lugar de origen y otro de destino, al darle a ver mapa, me mostrase la ruta en mapa que genera google maps. Es importante que no se utilice la hoja Excel para hacerlo, debe ser 100% userform. A ver si me podéis ayudar. Por cierto, el foro ha quedado muy bien, gran diseño y usabilidad. GOOGLE MAPS.…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 5k visitas
  9. Started by DiegoPC,

    Tengo un cuadro cuyas dimensiones cambiarán tanto en columnas como en filas. No sé cuál será finalmente su tamaño y necesito hacer mención a ese cuadro desde fórmulas. Quiero una fórmula que me devuelva la dirección de todo el cuadro. Así tal como lo estoy planteando, se podría con tablas pero el caso real es más complejo y las tablas no funcionan ya que las clonaré y las fórmulas cruzadas de cada tabla deberían apuntar al nuevo clon y no se está funcionando así. En el adjunto muestro que el código funciona correctamente dentro de un SUB pero no dentro de un FUNCTION. ¿Alguien me puede ayudar para lograrlo desde una función? FuncionDireccionCuadro.xls

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  10. Started by viejo,

    como puedo poner la ubicacion de donde debe aparecer el userform, es decir; en que parte de la pantalla quiero que aparesca, resulta que redimensiono las medidas del userform pero al redimensionarlas la posicion en la que aparece en la pantalla se vuelve invisible (a los ojos humanos no a nivel de programacion). por ejemplo quiero que aparesca con la esquina superior izquiera del userform en la esquina superior izquierda de la pantalla. ¿como lo logro? anexo archivo Dardimensiones_a_Userform.xls

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 25.7k visitas
  11. Started by vmjmb,

    Buenas tardes, Tengo un pequeño programa que e estado creando gracias a los temas que he encontrado en el foro pero hay algo que no me agrada de este programita es que cada vez que tengo que agregar un cliente buscar un cliente u otras cosas tengo que activar la hoja donde estan los clientes. Me gustaria que todo se maneje en base del programa sin tocar mas que una sola hoja mejor dicho algo que suplante al Sheets("Hoja3").Activate[/CODE] Adjunto el programita para que lo entiendan. Gracias cotizacion victor 1.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  12. Started by wsid011,

    Buenas, me ha servido mucho esta pagina, les comento que he logrado desarrollar un proyecto para el cual he logrado que dado un formulario pueda cargar una planilla para utilizarla como base de datos, poder imprimir el formulario, dado el boton cancelar que me limpie el formulario, pero lo que no puedo lograr es que mediante el boton buscar dado un dato me vuelva a cargar el formulario con el que trabaje, dejo el archivo para quien pueda me brinde una mano, desde ya muchas gracias y espero que se entienda lo que pido. La busqueda podria estar dada por responsable o por nombre de la empresa y que me permita elegir cual formulario imprimir.- Microsoft SkyDrive - Access fil…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.1k visitas
  13. Started by enrux,

    hola .. compañeros Quisiera que me Ayudaran por favor con este codigo... sub impr() ImpresoraActual = Application.ActivePrinter ' With Application.Dialogs(xlDialogPrinterSetup) If .Show Then Sheets("Ajuste").PrintOut Copies:=1, Collate:=True End If End With Application.ActivePrinter = ImpresoraActual End Sub[/CODE] cuando voy a imprimir le doy configurar en la configuración de la impresora.. pongo papel manual o cualquier otra configuracion.. siempre me imprime con la bandeja principa.. Gracias chicos impresion cod.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 748 visitas
  14. Started by celim,

    Hola amigos. acudo a ustedes por ayuda. sucede que tengo un libro en Excel ,algunos valores paso al Word. sin embargo tengo dos problemas. 1.-El primero que los valores copiados de Excel se pegue sobre un documento abierto(puede ser el "doc1" o el "Doc2"), no como lo viene haciendo la macro que abre el libro cuya ruta esta señalada(por ahora abre el doc2). Esto lo hago por que previamente mediante un procedimiento condicional(estructuras de control) yo puedo abrir cualquiera de los 2 documentos, y una vez abierto recién debo copiar los datos. 2.-si existiera una mejor forma de copiar los datos al Word, considerando que los datos que copia actualmente lo hace en fo…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 619 visitas
  15. Esta instrucción al mandar un mail desde Excel, no funciona, pero tampoco da error. Probablemente me falte una instrucción previa. Agradecería ayuda. El código completo del envío es: With .ITEM .Attachments.Remove 1 If impor = 1 Then .Importance = olImportanceHigh Else .Importance = olImportanceNormal .BCC = oculta .To = destinatario .CC = copia .Subject = asunto If FICHERO_ADJUNTO <> "" Then .Attachments.Add FICHERO_ADJUNTO .SendUsingAccount = OutApp.Session.Accounts.ITEM(1): ' <---------------------------------------------------- .Send End With

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  16. Buenas, Estoy tratando de crear citas en funcion de los datos de una hoja de excel, mi problema no es obtener los datos del excel ni nada por estilo sino utilizar correctamente los objetos para poder acceder a las carpeta no default del Outlook. Como os digo para crear citas sobre el calendario default no tengo problemas, pero sobre cualquier otro calendario es imposible. Os adjunto unos códigos... Sub SetAppt() Dim olApt As Object ' Outlook.AppointmentItem Dim olApp As Object ' Outlook.Application Dim i As Long Dim apptRange As Variant Const olAppointmentItem As Long = 1 ' create outlook Set olApp = GetOutlookApp If olApp Is Nothing Then …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.7k visitas
  17. Started by jguedez,

    Tengo una Rutina para colocar el día de la semana en una Etiqueta cuando se coloca una fecha en un trío de ComboBox (dia, mes y año). Al seleccionar el año me da el siguiente error: Se ha producido el error "1004" en tiempo de ejecución: Error en el método Range de Objeto_Worksheet Private Sub Escribe_DiaSem() ' Coloca el Nombre del Día de la Semana de la Fecha de Ocurrencia Dim fecha As Date Dim Nombre_dia As String Dim Variable As Integer fecha = Me.ComboBox108.Text & "/" & Me.ComboBox107.Text & "/" & Me.ComboBox109.Text Variable = Weekday(fecha) Select Case Variable Case 1 Nombre_dia = "DOMINGO" Label257.Caption = Nombre_dia Ce…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 669 visitas
  18. Hola a todos Tengo un problema con un formulario, estoy intentando poner los datos en la siguiente fila de una columna mediante: Private Sub CommandButton1_Click() Dim Hoja As String Hoja = Nombre.Value Sheets(Hoja).Select Range("D32").End(xlUp).Offset(1, 0) = Titular.Value End Sub Todo lo hace bien, SI LA CELDA ESTA VACIA SIN FORMULAS, es decir, escribe en la siguiente fila hacia abajo.... ...Pero yo en los valores de las celdas de esa columna tengo (cambiando el nº de fila obviamente) lo siguiente =SI(C6="NO";"-";SI(C6="XX";"-";SI(C6="YY";"-";""))) Con lo que, la celda de cara a 'verla' está vacia pero para el proceso VBA no lo está :-( Asi es que, como pued…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.1k visitas
  19. Started by EDUARD1580,

    hola amigos porfa solucion a esta formato, para que sean creadas las formulas o macros o lo que sea para que me quede como ven en el ejemplo. lo que quiero es que en la base de datos me salga a consultar por numero de factura y cliente en troa hoja sea consultado lo que va la factura del cliente que se llamo a consultar y que en otra hoja sea para buscar el puroducto cantidad con ven en el ejemplo... espero que me entiendan y me puedan colaborar mil gracias pruevas de despacho.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 596 visitas
  20. Hola foristas, tengo un listbox "Plan" que se va llenando gracias al listbox "Ali".... En el listbox "Plan" se va a agregando un indice (que hace referencia al numero de fila que se encuentra el alimento en la hoja "Alimentos"), la cantidad y la unidad.... Dependiendo la cantidad y del indice, hago unas cuentas y me da un valor de carbohidratos, lipidos y proteínas que tiene y se agrega estos valores a los labels (tanto a la comida y al valor total) Lo que quiero hacer es como hacer que cada items que se va agregando al listbox realice esta cuenta, y si la modifico que también modifique esta cuenta. Function ProporcionDia y ProporcionComida la realiza siempre y cuando…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.7k visitas
  21. Hola a todos. Necesito hacer una macro en Excel que me genere un archivo plano delimitado por ";" pero los datos de cada celda deben quedar en orden especifico en el archivo plano, así como también es bueno saber que las celdas que contienen la información esta en excel están en ubicadas determinadas posiciones de la hoja. de antemano mil gracias por su ayuda. KELVIN

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 622 visitas
  22. Started by soniapam,

    tengo el siguiente codigo Sub limpiar2() Application.ScreenUpdating = False Sheets("PRODUCCION").Select Range("A7").Select ActiveCell.ClearContents Range("A7:A524,B7:B524,D7:CF524,CH7:CM524,EL7:EO524,FC7:FS524").Select Selection.ClearContents Application.ScreenUpdating = True Range("A7").Select End Sub como puedo hacer para recuperar los datos que ya fueron eliminados, osea que si al final me arrepnti de borrarlos cual seria el codigo para una macro que me ayude a recuperar los datos borrados. Gracias

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 5.9k visitas
  23. Started by niqlas,

    Estimados, como puedo declarar una variable global que pueda asignarle un valor dentro de una hojade excel o el workbook y utilizarla en un formulario.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2k visitas
  24. Started by jeladio,

    Hola amigos tengo el siguiente código para cargar una imagen: Private Sub foto_Click() On Error Resume Next Dim Ruta, Lista As String Ruta = ThisWorkbook.Path nombre = Worksheets("MATRIZGENERAL").Range("b6").Value If Lista = "" Then Exit Sub marcofoto.Picture = LoadPicture(Ruta & "\prueba\" & nombre & ".jpg") End Sub [/CODE] y todo funciona el problema es que cuando las imagenes son muy grandes solo se ve una parte en el cuadro marcofoto (image), como puedo solucionarlo para que redimensione la fotografia antes de cargarlo al marco y poder ver la foto completa. espero puedan ayudarme. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.8k visitas
  25. Started by gugalde,

    Hola Amigos, Necesito una ayuda. Tengo un calendario montado en excel. Lo estructuré en fila y continuo ya que debo tener las filas inferiores para poder ir marcando registros Ejemplo: [TABLE=width: 500] [TR] [TD]Enero[/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [/TR] [TR] [TD]1[/TD] [TD]2[/TD] [TD]3[/TD] [TD]4[/TD] [TD]5[/TD] [TD]6[/TD] [TD]7[/TD] [TD]8[/TD] [TD]9[/TD] [TD]10[/TD] [/TR] [TR] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [/TR] [/TABLE] Ya tengo todo listo, lo que necesito es habilitar una macro que me lleve a la…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k 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.