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. hola amigos, les comento que quiero su ayuda por favor, tengo un excel con una tabla con 270000 fila aprox, y tablas dinamicas asociadas a ese rango de manera dinamica usando ref, y necesito saber si convendría mejor tener esa tabla en otro archivo y asi alivianar el peso de 50mb a 3 mb del archivo principal con las tablas dinamicas, mejoraria el rendimiento?, y de ser así, ¿como puedo hacer una macro que lo que haga sea asignar el origen de datos a esa tabla dinamica hacia el otro archivo? pero de tal manera que si es que cambio de pc, tambien cambie la deteccion de la ubicacion del archivo de la base de datos, pensaba en algo como obtener la direcccion del archivo pr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  2. Started by Jvnt,

    Lo que se desea es revisar si la fila de la Hoja1, se encuentra en la Hoja2. Y si no esta se copie encima del mas reciente. Esto dado que la Hoja1, es una hoja que estoy retroalimentando. Pero la Hoja2, Estoy copiando la data retroalimentada, para trabajar con otros indicadores, por eso tiene columnas estáticas. Por ello le decía si se puede buscar la fila y si no esta que lo copie. Ya que si solo trabajara con la Hoja1, las celdas se moverían. Y las celdas de las columnas estáticas no se moverían. Produciendo errores. Macro.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 648 visitas
  3. Started by tazzmania128,

    Hola a ver si me pueden ayudar en lo siguiente. Estoy con un excel en donde la columna A me muestra los ficheros que hay en un directorio A B C 1 Equipo Numero Serie 2 1.txt 3 2.txt Lo que me gustaría hacer es que en las celdas , por ejemplo, B2 se ejecute un comando de msdos que sería para la celda B2 --------> find B1 A2 para la celda C2 --------> find C1 A2 y me muestre en las celdas B2, C2, B3 y C3 las salidas de los comandos find... espero haberme explicado, subo un archivo por si se entiende mejor muchas gracias por vuestra ayuda test.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  4. Started by Neo_95,

    Amigos que tal, estoy necesitando una guia o ayudita con esto tengo un userform donde hay un listbox al hacer click sobre este se abre un userform con los datos seleccionados, y aqui viene mi problema al modificar los datos y presionar modificar quiero se que se modifique el id seleccionado no el id 1 si yo seleccione id 7 que se modifique ese id y para eliminar lo mismo. Aguardo comentarios. Aqui les dejo mis archivos Excel+Access.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 829 visitas
  5. hOLA BUENOS DIAS, ESTOY DESARROLLANDO UN PROGRAMA QUE EN OFFICE 2007 ME ARROJA UN ERROR PARA GUARDAR LOS DATOS. EL MENSAJE DICE ERROR 1004, ERROR EN EL METODO PASTESPECIAL DE LA CLASE RANGE. EN DONDE DEBO ESCRIBIR LAS FECHAS ME SUPONGO QUE EL ERROR DEBE SER POR EL USO DE LOS MONTHVIEW. EN EL MODULO 2 SE ENCUENTRA LA MACRO QUE REALIZA EL PROCEDIMIENTO DE GUARDAR LOS DATOS. AGRADEZCO TODA LA AYUDA Y SUGERENCIA QUE ME PUEDAN APORTAR. GRACIAS HERMANAZOS Control de Acceso Final 6.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 701 visitas
  6. Buenas noches , la tematica es la siguiente estoy desarrollando una hoja de calculo que ingresa datos de estudiante para el manejo de sus calificaciones. Cuando realizo la captura de informacion desde la hoja "INGRESO" deseo que los guarde todo en una hoja llamada "DATOS" lo cual ya he logrado pero en otras hojas llamadas "IMOMENTO,IIMOMENTO,IIIMOMENTO" en estas ultimas solo necesito guarde la cedula de identidad, apellidos y nombres, es decir, de la hoja "INGRESO" las celdas A9,C9,E9 las guarde en estas hojas en sus respectivos campos. Al mismo tiempo ordene y enumere automaticamente Alli envio el archivo, gracias de antemano NUEVO.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 569 visitas
  7. Started by Carlos1986,

    Buenas Tardes, tengo el siguiente código, que lo que hace, es enviar la hoja activa de excel via outlook, pero por cuestiones de seguridad aparece una ventana emergente donde me pregunta si quiero permitir que un programa envie un correo por mi.No puedo desactivar la notificacion por seguridad de la empresa.La pregunta es: que puedo ingresar al codigo para que tambien pueda dar "click" en permitir y que se envie? la codigo funciona bien, si le doy click manualmente, el correo se envia con la info. Sub Enviar_Correo_HojaActiva()On Error Resume NextActiveSheet.CopyWith ActiveWorkbook.SendMail Recipients:="colocar email", Subject:="Inventario".Close …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 916 visitas
  8. Un saludo a todos. Este es mi primera consulta e igual no esta bien ubicada, espero que si. Tengo una hoja que es un resumen global. Tiene datos variados que debo registrar en diferentes tablas para ver las evoluciones y analizar datos. Obviamente a mano es factible, pero entre los formatos extraños y que son 2 por semana me parece tedioso y quisiera automatizar el proceso lo más posible. Se que web scraping facilitaría las cosas, pero aún no veo haciendo eso y aunque se que la consulta puede resultar algo genérica espero que al ver la tabla de ejemplo alguien me pueda dar alguna via, o al menos sugerir, para ir avanzando en esta tarea. Gracias …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 437 visitas
  9. Soy principiante en esto . El tema en cuestión es que tengo un libro. En la primera hoja tengo un botón que me copia Código: Sub Copiarypegar()'Seleccionamos todo el área contínua de datos, desde la celda donde estamos situadosRange("A24:O24").Select 'seleciona el rango especifico'ActiveCell.CurrentRegion.Select'CopiamosSelection.Copy'Pegamos en A24 de la hoja 2Sheets("Daily Report").SelectRange("A24").Select 'el control se hará sobre la columna A, a partir de la filaWhile ActiveCell.Value <> "" 'Busca la ultima filaActiveCell.Offset(1, 0).Select 'si la celda contiene datos, pasa a la fila siguienteWendActiveSheet.PasteSpecialApplication.CutCopyMode = FalseRange(…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  10. Started by jechu85,

    Hola, escribi pero creo que se ha borrado, así que vuelvo a escribir haber si alguien pudiera ayudarme. necesito un macro para que al cerrar el libro se desactiven todos los rangos de modificación activos y al abrir se activen los rangos que yo desee. Soy algo novato en estoy y he podido con otras macros pero esta me supera. Un saludo

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  11. Started by sergio122,

    BUENAS TARDES A TODOS. AQUI DENUEVO CON UN GRAN PROBLEMA PARA MIIIIIIIIIIII. NECESITO DE SU AYUDA, TENGO UNA HOJA EN EXCEL QUE SE IMPRIME DOS VECES Y NECESITO QUE EN CADA UNA SE IMPRIMA UN PIES DE PAGINA DISTINTO EN UNA EL PIES DE PAGINA DIGA " COPIA" Y EN LA OTRA "ORIGINAL" ESTE ES EL MACRO QUE USO PARA IMPRIMIR Sub Imprime_horarios() Application.ScreenUpdating = False For Each pestaña In Worksheets If pestaña.Name = "nombres" Then GoTo otra: pestaña.Activate If Range("d6") <> 0 Then ActiveWindow.SelectedSheets.PrintOut Copies:=2 pestaña.PrintOut End If otra: Next pestaña Sheets("nombres").Activate Application.ScreenUpdating = True End Sub DENTRO…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 788 visitas
  12. Started by FSALGADO,

    Nuevamente solicito su apoyo con este archivo y necesito lo siguiente: Me manda un error al guardar capturas y guarda los datos como texto además de ser posible que la fecha me la de en automático. Les agradezco de antemano su apoyo. Gracias. CAPTURA CARGAS DE COMBUSTIBLE.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 653 visitas
  13. Started by pool12,

    Hola. Espero que me puedan ayudar con esta formula que tengo, la verdad es que corre muy lenta, o a veces se bloquea y no se que otra formula puedo utilizar, les agradecería cualquier sugerencia, gracias. Worksheets("CXC").Select Set ls = Hoja2 For j = 4 To 50000 If TextBox1 = ls.Cells(j, 8) Then ls.Cells(j, 9) = TextBox4.Value * 1 Exit For End If Next Worksheets("ABONOS").Select Set ls = Hoja1 For j = 4 To 50000 If TextBox1 = ls.Cells(j, 7) And ls.Cells(j, 10) = 0 Then ls.Cells(j, 10) = "CANCELADO" Exit For End If Next Worksheets("CXC").Select Set ls = Hoja2 For j = 4 To 50000 If TextBox1 = ls.Cells(j, 8) And ls.Cells(j, 9) <= 0 Then Selection.E…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 627 visitas
  14. Started by alejandro_astudillo,

    Estimados como estan. Quisiera que me ayudaran si es que existe la solucion para este tema. les cuento tengo una hoja de calculo que utiliso para un sistem,a de logeo en terreno ( en la calle) con un sierto personal. la hoja funciona con pistola lectora de codigos de barra que ise yo mismo, cada uno tiene su terjeta con codigo pero a la persona que tengo realizando esta funcion modifica la planilla, lo que quiero hacer pero no puedo es que pueda seleccionar en la barra berde y darle al boton entrada o salida pero cuando bloqueo las celdas donde esta la informacion no se puede hacer no se si me explique bien pero gracias si alguien lo hace Control de Personal Grupo3…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 581 visitas
  15. amigos del foro si me puede orientar por favor Tengo una hoja de un excel que se necesita Poner los Montos Segun las Fechas de las Coutas en un calendario en este calendario debe insertarse las montos segun las fechas de las coutas en el calendario ejemplo Coutas Monto Fecha couta1 Fecha couta2 Fecha couta3 Fecha couta4 4 2750 12-10-2015 25-11-2015 26-12-2015 02-09-2016 2 1150 16-09-2015 25-10-2015 3 111100 11-09-2015 21-10-2015 28-11-2015 1 400 11-09-2015 fechasrestarv4.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 504 visitas
  16. 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
    • 600 visitas
  17. Tengo un Formulario el cual lleno con un listbox el cual paso a celdas que son de la b8 a b32 y después la lista continua de la h8 a h57 y necesito que cualquiera que seleccione de estas ejecute la macro hasta este momento solo puedo hacerlo con una en especifico o en rango pero necesito que pueda seleccionar cualquiera de las mencionadas les paso el código como lo tengo. Gracias Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Selection.Address <> "$B$8" Then MsgBox "SELECCIONE CELDAS DE PRODCUTOS " & ElRango Exit Sub Else With ListIndex = "b8" ActiveCell = ListBox1 ActiveCell.Offset(1, 0).Select ListBox1.ListIndex = -1 End With…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k visitas
  18. Started by Blazar,

    Buenas tares, antes que nada Tengo una situación con un macro y quisiera un par de opiniones y de su ayuda para resolverla La macro que intento hacer deber realizar un filtrado de una serie de datos de una hoja y copiarlos a otra el filtrado se basa en una columna con un dato especifico esa columna es fija siempre va ser la misma, una vez que hago la búsqueda del dato, cuando lo encuentra realizo el copiado de toda esa fila a otra hoja de excel, el problema es que también necesito copiar unas celdas hacia abajo pero no siempre es el mismo numero de celdas estas pueden variar a veces es 1 sola o pueden llegar a ser hasta 4 adjunto el archivo (no el real uno muy par…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
  19. Started by fcd,

    [buenas tardes, A ver si alguien me echa una mano con esta macro en excel 2003 (donde funciona perfectamente) y al ejecutarla en 2007 me da un error '9' en tiemp de ejecución La macro, lo que hace es copiar hojas de un libro a otro libro con el mismo nombre que la hoja. Señalo la sentencia donde da el error ]Sub Macroañadehojafichero() ruta = ActiveWorkbook.Path nomor = ActiveWorkbook.Name For h = 1 To Sheets.Count nomh = Sheets(h).Name On Error Resume Next Workbooks.Open Filename:=ruta & "\" & nomh & ".xls" nh = Sheets.Count Windows(nomor).Activate Sheets(nomh).Copy After:=Workbooks(nomh…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 870 visitas
  20. Started by ramo07,

    buenas tardes amigos del foro, mi problema es el siguiente; baje esta macro y la adapte a mis necesidades, pero cuando escribo lo que requiero buscar ya sea por nombre, direccion y solicitud, tarda bastante en buscarla, como que titilea cada que escribe una letra, adjunto el archivo con la macro y deberas les agradesco cualquier ayuda que me puedan brindar ya que no domino bien las macros. buscador media t.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  21. Tengo un archivo que me genera distintos graficos en una misma hoja con los datos de otra hoja, el problema es que me presenta los datos de dos columna, como fija la B y la segunda columna es variable, pero necesito que me presente los datos de dos columna variables, ejemplo: Primer boton para el grafico seleccione los datos de la columna B y C, Segundo boton para el grafico seleccione los datos de las columna D y E, Tercera boton para el grafico seleccione los datos de la columna F y G, y asi sucecivamente. Al generar me deja la columna B como fija y no es lo que necesito, por otra parte, que pasaria si inserto una o dos columnas entre los datos, se dañaria la macro…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 812 visitas
  22. Hola a todos, mi problema es el siguiente: Tengo un libro de excel con varias hojas y similar estructura (Abonados, Socios, Jugadores, CuerpoTécnico, Directivosycolaboradores, Patrocinadores y Honor). Lo que quiero es que los datos de las hojas "Socios, Jugadores, CuerpoTécnico, Directivosycolaboradores, Patrocinadores y Honor" (pero solo las columnas "Apellidos, Nombre, Teléfono Fijo, Teléfono Movil, Correo electrónco, Fecha nacimiento y Direccion) se copien con una macro en la hoja "Abonados", de tal forma que si tengo 100 socios, 30 jugadores, 2 técnicos, 1 directivo, 5 patrocinadores y 3 socios de honor, se me copien en la hoja de abonados ordenados por el apellido …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.6k visitas
  23. Started by gacg1310,

    Buenos Dias. en una columna tengo los años del 2008 al 2013 y en otra tengo los meses de enero a diciembre, cada año con sus respectivos 12 meses. necesito una macro que me muestre todas las filas del año movil, un ejemplo: si escojo febrero del 2008 la macro tendra que mostrarme todas las filas hasta enero de 2009. la idea es que escoja el año y el mes y automaticamente me muestre las filas del año movil gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.6k visitas
  24. Started by Pepe55,

    Hola, Tengo una plantilla "xlt" con unas macros que utilizan una DLL externa creada en C++. La DLL exporta una funciones, que he declarado en el VB de Excel como: Declare Function Calcular Lib "LibCalculo.dll" (ByVal param1 As Integer, ByVal param2 As String...) He guardado la plantilla y DLL en una carpeta concreta "C:\Plantilla" y esa carpeta la añado en "Ubicaciones de Confianza". Lanzo la macro, conecta con la DLL y me da los resultados. Hasta ahí todo bien. Pero tras cerrar el programa Excel, al volver a abrir la plantilla, si lanzo la macro me indica que no encuentra la DLL. Tengo que entrar a ubicaciones de confianza, eliminar esa carpeta de la lista y volver …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 636 visitas
  25. Hola, cree un código, que la intención es acceder a varias cuentas de la web sin necesidad de abrir la pagina y escribirlas manualmente el usuario y contraseña, pero al ejecutarlo genera un error al tratar de encontrar los campos para asignar los datos de la cuenta y acceder a ella. Sub AccesoWebT() Dim acce As Object Set acce = CreateObject("Shell.Application") acce.ShellExecute "chrome.exe", "https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0" While acce.Busy DoEvents Wend On Error Resume Next acce.Document.all.Item("Ecom_User_ID").Value = Range("B1").Value acce.Document.all.Item("Ecom_Password").Value = Rang…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 826 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.