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 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
    • 654 visitas
  2. 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
  3. Started by molmi,

    estimados! es mi primer mensaje en el foro quiero hacer 3 listas de datos dependientes entre si Es decir, en funcion de lo que se carga en el combobox 1, serán las opciones que muestre disponible el combobox 2. Y el 3ero de igual manera Cuando se completan los 3 combos, se completan los datos que se encuentran en otra solapa ademas, en la solapa "datos" me gustaria poner un formulario, que permita: tipear los datos del pais y el medio, y que los datos de precio y formatos aparezcan debajo para actualizar ese registro gracias por la ayuda! adjunto el archivo! Demo_Excell.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 654 visitas
  4. Hola, Esta mañana, impartiendo un curso de VBA para una empresa, alguien tenía la versión de excel 2007. Ha intentado grabar una macro con la grabadora de macros que insertaba una foto en una hoja. La grabadora no generaba ningún código referente a la inserción de la imagen pero si generaba código para otras acciones. ¿Alguien sabe por qué no genera código al insertar la imagen? ¿Hay que configurar algo? En excel 2010 y 2013 no he tenido ningún problema. Gracias de antemano por vuestras respuestas y saludos.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 654 visitas
  5. Started by juanmafly,

    Sigo con mi formación de macros en VBA y estoy atascado tengo tres tablas una de alumnos que se tienen que examinar la fecha y el aula, otra con el dia que hay examenes a realizar con su fecha y aula con los puntos a sacar, y otra con los alumnos que los han realizado con su fecha y aula que lo han realizado, busco una macro que cruce las tres tablas y me de como resultado en otra o en la misma hoja los alumnos que aun no han realizado el examen. gracias por adelantado examen.zip

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 654 visitas
  6. Buen dia Amigos, tengo un archivo que tiene unos nombres en hoja "base" y en hoja "ok" hay dos columnas con nombres una con el dato que esta en hoja base y la otra con el dato a modificar; que quiero, que de acuerdo a la lista de la hoja Ok se remplace los nombres en la hoja base, según su correspondiente al frente ej: si es Jorge quiero que se cambie por Alexander y asi con toda la lista. Mil gracias a quien me pueda colaborar... Javicor remplazar datos33.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 654 visitas
  7. Started by jose0406,

    hola una ultima duda tengo un macro con este macro, lo que hace es buscar las palabras que esten entre el rango "principio" y "final" y escribirlas en la casilla a2 y me funciona bien. pero ahora quiero un macro que haga la misma funcion pero con todos los codigos que tengan esas caracteristicas, ya que este macro en esas situaciones me marca error Sub selecciondetextoentrepalabras() 'macro que selecciona texto entre dos palabras principio = "<a class=""submenu"" ""href=""" Final = "</a>" texto = Range("a1") x1 = InStr(texto, principio) + Len(principio) x2 = InStr(texto, Final) - x1 Range("a2") = Mid(texto, x1, x2) End Sub - - - - - Mensaje combinado …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 654 visitas
  8. Started by Emi,

    Hola como andan!, me estoy iniciando en el lenguaje de VB y me surgió una duda al momento de realizar una tarea. El control en cuestión consta en lo siguiente: la hoja de Excel consta del día del 1 al 31 en las columnas de la hoja y en la fila de debajo se coloca un 3 o se deja vacía dependiendo de si ese día se realizo el control pertinente (por ejemplo si en el día 12 hay un 3 es porque ese día se hizo el control, si no hay nada, no se hizo). La cuestión es que el control se debería hacer cada MAXIMO 7 días (es posible que se haga cada menos días). Lo que quiero hacer es un macro que analice los datos de control y si un día que debería haberse hecho control (ósea si pas…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 653 visitas
    • 1 seguidor
  9. Estimados, Junto con saludar, quisiera pedirles ayuda con la siguiente macro. Resulta que tengo un formulario en el cual no quiero que se guarde si las celdas D11 y D13 no se han ingresado datos, pero dada esta macro necesito algo que a la vez me permita guardarlo si el formulario esta completamente en blanco. Esta macro me funciona bien al permitir que el archivo se guarde si ambas celdas no tienen datos, pero a la vez me genera problemas para guardar el formulario si este esta en blanco. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Sheets("Formulario").Range("D11") = "" Or Sheets("Formulario").Range("D12") = "" Or Sheets("For…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 653 visitas
  10. Invitado Wiru
    Started by Invitado Wiru ,

    Hola a todos. Quizás mi pregunta anterior no estuviera lo suficientemente clara. Mejor subo un ejemplo de la macro. La hoja está protegida por contraseña (es : "cuad" sin las comillas) como veréis en el código, excepto las celdas A23, B23, C23 y E23. Si l a celda A23 está vacia o hay escrito algo distinto de "prueba" (sin comillas), dichas celdas quedan desprotegidas y puedo insertar cualquier valor, pero si escribo "prueba", deben protegerse (Locked) las celdas B23 y E23. Pues bien la macro dá error y me salta el depurador en la linea de Range("E23").Locked = False o en Range("E23").Locked = True y lo único que sé es que el motivo es por ser E23 una celda combinada…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 653 visitas
  11. Buenas tardes, voy de nuevo! Esta tarea me ha volado la cabeza. Adjunto un archivo en cual puedo realizar consultas de cierta información de colaboradores... Hay un botón que me permite agregar un comentario que se consolida en la hoja "Comentarios" La ayuda que ocupo es como puedo visualizar dichos comentarios de diferentes colaboradores ? Además tomar en cuenta que tiene que ir el responsable que escribe el comentario y en la fecha que fue digitado y además ; el comentario en algunas ocaciones se extiende de caracteres. Anteriormente me habian ayudado a implementar una listbox pero por el mismo motivo que algunas comentarios son extensos ; la opción del listbox no era ú…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 653 visitas
  12. Started by Sella89,

    Hola a todos, tengo una limitación en el uso diario de excel y me gustaría conocer las distintas opciones para poder solucionarlo. Tengo añadido un complemento de excel con una fórmula, y funciona correctamente, el problema surge cuando comparto el documento que usa dicha fórmula con otro usuario, ya que aunque el otro usuario tenga instalado también el complemento, al guardarse los complementos en ubicaciones locales, se producen errores, y hay que modificar la llamada a la formula para visualizarlo correctamente. Como primera solución cree una plantilla de excel con una macro incorporada pero resulta un poco incomodo, tener que abrir cada vez la plantilla para crear …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 653 visitas
  13. Estimados Tengo un problema que seguro alguien sabrá resolver y parece ser una tontería pero por más que busco en internet no consigo la respuesta. Tengo un formulario; cuando ejecuto el formulario directamente desde visual basic, todo funciona correctamente. Ahora bien, por decir en la “hoja 1”, llamo a este formulario por un botón: Private Sub AbrirFormulario() PpalForm.Show End Sub Sí, me muestra el formulario, pero cuando salgo o lo cierro, a pesar de haber seleccionado alguna de las opciones del formulario que terminan por ejemplo: Worksheets("Hoja2").Activate Range(“A1”).Select Me muestra la hoja “Hoja2” y al parecer está en la celda “A1”, pero si por ejem…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 653 visitas
  14. Buen dia. Nuevamente dando lata. Tengo un reporte el cual necesito cortar las celdas que ya cumplieron con un dato capturado(despacho), esta celda se debera de pegar en una hoja diferencte (acumulado) Adjunto ejemplo Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 653 visitas
  15. Started by Leslie Villegas,

    Buenas tardes!! Realmente tengo 0 experiencia con los macros, necesito resolver una duda que según lo que he leído solo puede ser mediante macros ahora si, tengo un libro de excel con 68 hojas, necesito mostrar el dato de cada celda B8 de cada hoja a la primera hoja del libro o sea en la en la =Hoja1!G2 necesito mostrar la =Hoja2!B8, en la =Hoja1!G3 necesito mostrar la =Hoja3!B8 y asi hasta la =Hoja1!G68 necesito mostrar la =Hoja68!B8 espero que me hayan entendido y puedan explicarme como a un niño muchas gracias de antemano por su tiempo y colaboración Leslie V.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 653 visitas
  16. Started by vincenzo68,

    Hola a todos Os pido ayuda para ver cómo podría hacer lo siguiente: Necesito hacer como una especie de toma de datos. Por un lado hay unas etapas (hasta un máximo de 15). Cada etapa puede tener diferentes meses (con un máximo de 18) y en cada uno de esos meses necesito incluir las ventas estimadas. No quiero tener una tabla enorme, por eso os pido ayuda. ¿Podría hacerse un desplegable de los meses de tal manera que los datos se introdujesen ahí y luego en la etapa sólo se mostrasen las ventas medias? ¿Habría alguna manera de que, al poner el número de meses en la etapa, el supuesto desplegable se abriese sólo con esos meses? Gracias de antemano y un saludo.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 652 visitas
  17. Hola de nuevo, He buscado en foro pero no encuentro Gracias a la ayuda de @JasallBcn pude avanzar en lo que es mi primer formulario que he ido realizando de manera autodidacta a través de ejemplos encontrados en el foro y tutoriales diversos. He ido creando lo que será el formulario final en otro archivo que no he subido por tema de datos....pero ahora me encuentro con un nuevo problema que no consigo dar con ello, intento explicar de forma resumida: Se trata de los combobox, si doy a grabar sin más de primeras pues me realiza la acción dejando las celdas sin datos. Bien, al dar siguiente pues veo que si elijo un item de alguno de los combos y dejo el rest…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 652 visitas
  18. Buen día, Tengo un problema con una macro y espero me puedan ayudar, se trata de una macro que crea hojas dependiendo una lista en una hoja "Base de Datos" (numero de registros) de allí se crean nuevas hojas con una plantilla prediseñada, hasta ahora todo va bien, el problema es que me da un error al crear las hojas si no hay un nombre en la cuenta de las celdas (numero de registros), quiero saber como quitar ese error o alguna forma de arreglarlo. La macro es la siguiente: Espero me puedan ayudar, no he subido la hoja por que no me la permite. saludos,

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 652 visitas
  19. Buenas, quiero hacer algo como lo siguiente: Al pulsar sobre A1, que en la celda C1 se esciba la palabra "Amarillo" y que si se pulsa sobre la celda B1 en C1 se escriba la palabra "Rojo". Y necesito que esto sea arrastrable, o sea que si puslo en A5327 en C5327 se escriba "Amarillo" etc... Esto es posible de hacer con formulas? o necesariamente hay que recurrir a VBA? Un saludo y desde ya, muchas gracias!

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 652 visitas
  20. Started by rikardoroa,

    Sub Macro2() ' Dim valor As String valor = "pedro" Set mirango = Workbooks("Libro1").Sheets("Hoja2").Range("B7:B12") For Each mirango In Selection.Cells Sheets("Hoja2").Select Range("B7:B12").Select Selection.Copy Sheets("Hoja3").Select Range("B13:B18").Select ActiveSheet.Paste Next End End Sub TENGO EN LA HOJA 2 LO SIGUIENTE EN EL RANGO B7:B12 TENGO UNA COLUMNA DE NOMBRES ASI SIN TITULO DE ENCABEZADO hoja2 hoja 3 PEDRO PEDRO MARIA JOSE PEDRO PEDRO …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 652 visitas
  21. Started by Lanfan,

    Buenos días. He programado una función no muy compleja, en la que le digo mediante un if que dependiendo del caso haga un cociente en el que en el numerador y en el denominador llamo a la función vlookup de Excel. Bien, el problema es que esa función, que utilizo masivamente luego en la hoja, a veces se "engancha" y no devuelve el resultado sino que da VALOR. Si me situo encima de la celda donde da valor, la activo (F2) y luego le doy al Inter, ya me devuelve el resultado. El problema es que esa función la utilizo para luego devolver un calculo más complejo, por lo que si falla esa función falla el resto de cálculos. Las preguntas son: ¿Por qué ocurre esto? ¿Qué pue…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 652 visitas
  22. Hola buenas tardes. Trabajo constantemente con varios archivos que deben ser movidos de una carpeta a otra. Estoy tratando de lograr que desde excel con un botón me abra el explorador y estando ahí poder seleccionar los archivos de mi interés y después de seleccionarlo que los copie. 2. ahora abrir el explorador y ubicar la carpeta (destino) en donde quiero colocar los archivos copiados. todo esto desde el explorador. Ya he logrado hacer el proceso de seleccionar los archivos, copiarlos y seleccionar la carpeta donde quiero que las pegue. El problema es que solo me pega un archivo. Me pueden ayudar con la parte de la estructura para que se p…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 652 visitas
    • 1 seguidor
  23. Started by merlow,

    Amigos y Maestros: Buenas Tardes. En esta oportunidad les solicito ayuda para resolver este tema (a mi criterio bastante dificil de hacer), por lo que debo pedir asistencia a Uds, los maestros del excel, para resolver mi problema. Estoy tratando de hacer alguna especie de planilla validadora de stock para la venta, para esto les presento el archivo que adjunto: Columna A: Una Categoría Global para el producto Columna B: El codigo que identifica al producto (no existen 2 repetidos) Columna C: El stock actual de ese producto. Columna D: La rentabilidad que me genera la venta de ese producto. Columna E: La cantidad de unidades que siempre debo tener en la gondola Co…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 652 visitas
  24. Started by Gsus,

    Buenas, tengo una macro para seleccionar varios ficheros txt en una carpeta y consolidarlos al importar. Tengo problemas con las fechas de los ficheros hasta el día 12 de cada mes. Se dan la vuelta el día y el mes. Dice que el formato es dd/mm/aaaa así que no he podido solucionarlo, tampoco con CDate. Alguna idea de cómo solucionarlo? Os adjunto dos ficheros: Uno del 31/12 que se importa correctamente y otro del 02/03 que se importa al revés. Gracias de antemano. ejemplo_txt.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 651 visitas
    • 2 seguidores
  25. Started by stevensi333,

    Creo que es bastante simple, pero estoy por aprender y me interesa comprenderlo todo Private Sub Worksheet_Change(ByVal Target As Range) [B] If Target.Count > 1 Then Exit Sub[/B] If Target.Row < 6 Then Exit Sub If Target.Column = 19 Or Target.Column = 26 Then If Target <> "si" Then Exit Sub Mensaje = "Seguro desea bloquear la fila,.... Esta accion no le permitira editarla de nuevo?" ' Define el mensaje. Estilo = vbYesNo + vbCritical + vbDefaultButton2 Título = "Cuidado!!!" Respuesta = MsgBox(Mensaje, Estilo, Título) If Respuesta = vbYes Then ActiveSheet.Unprotect "123asd" …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 651 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.