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. Buenas tardes, Necesito ayuda en varios aspectos, me he bloqueado y a pesar de haber intentado varios métodos no consigo llegar a lo que necesito. Adjunto archivo con una pequeña prueba. 1. Necesito insertar un número determinado de filas desde A1 hacia abajo, a partir de la cantidad que ponga en B2, será entre 1 y 6 máximo, pero es por no estar insertando manualmente. Lo he intentado con la siguiente macro, pero siempre tengo que tener la celda bien marcada y con al menos 2 filas ya fijadas para que se quede el mismo formato, no sé si existe otra forma de hacerlo: Sub InsertarFilas() Dim numFilas As Long Preguntar al usuario por el núme…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 628 visitas
    • 1 seguidor
  2. Buenos días de nuevo. necesito hacer una pequeña consulta. es referente a la entrada de datos en un calendario. Se realiza mediante un UserForm con OptionButton. Necesitaría ayuda por que querría que al seleccionar una celda, escribiera el dato en un numero determinado de celdas contiguas (Ej si es Batería nº 1 como máximo son 3 días hábiles pero pueden ser solo 2 o 1), saltando los días de cierre de las naves, que es donde me lió. Lo he intentado con un contador con una variable que pide cuando das a validar pero no me ha salido Si me pudierais orientar os estaría muy agradecido. Subo un archivo para que lo veáis. Muchas gracias de ante mano baterias.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 881 visitas
  3. Started by leovarsa,

    Hola soy completamente nuevo en esto del excel y tengo una inquietud, con un x sistema genero varios archivos en excel los cuales me gustaria poder insertarlos en un solo archivo igual de excel pero en varias hojas con ayuda de una macro alguien cree poderme ayudar con esto. De antemano gracias por la ayuda que me puedan brindar. saludos Leo

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  4. Quiero insertar imágenes desde una carpeta con una macro en un hoja de Excel este es el código cuando lo ejecuto me marca error 438, a que se debe ese error. </IniciaCodigo> Sub fotos() Dim ImgArray(158) As Variant Dim x As String Dim fotos As Long x = Dir("C:\CL_0121\*.jpg") Do fotos = fotos + 1 ImgArray(fotos) = x x = Dir Loop Until x = "" ActiveCell.Value = x For i = 1 To fotos Selection.InlineShapes.AddPicture _ Filename:="C:\CL_0121\" & _ ImgArray(i), LinkToFile _ :=False, SaveWithDocument:=True Next i End Sub </ FinCodigo> Que es lo que esta mal

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 630 visitas
  5. Started by Moroquito23,

    Hola buenas tardes: Necesito ingresar una formula en la columna C solo si una celda celda anterior tiene valor Columna B. Mi formula es (=SI.ERROR(EXTRAE(B3,ENCONTRAR("*",SUSTITUIR(B3,"\","*",LARGO(B3)-LARGO(SUSTITUIR(B3,"\",""))))+1,LARGO(B3)),"") Espero me puedan ayudar. Gracias Insertar formula si.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 389 visitas
    • 1 seguidor
  6. Buenos dias al foro, Tengo una inquietud, ojala me pudieran ayudar a resolverla: 1. Tengo un archivo con varias hojas 2. En cada hoja hay un formato, en el cual esta el campo Cliente (Columna "D") 3. En este momento esta programado para cuando uno se posicione en dicho campo vaya a una Hoja y consulte si existe el cliente o no, si existe colca su nombre e identificación, si no, Coloca No existe y no mas. 4.. Deseo que cuando me posicione en el campo o celda nombre me ejecute la macro que adjunto, o sea, que consulte si existe o no el cliente Si existe que me copie la identificación y el nombre del cliente Si no existe crearlo. …

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.1k visitas
  7. Started by ARROMERO,

    Buenas tardes, el codigo siguiente me inserta un codigo, es decir: En mi celda G1 tengo un codigo, copio ese codigo y lo pego tantas veces me lo diga mi celda F3 en mi columna F, va leyendo las cantidades que me proporciona mi columna F. Mi problema es que al principio si me inserta por ejemplo tengo un 3 y me inserta tal cual, en la siguiente tengo un cuatro y no me lo copia, no hace nada y salta al siguiente y tampoco hace nada. Mi codigo: '-------------------------------------------------------- ' Macro para insertar filas segun cantidad de codigo | '-------------------------------------------------------- Sub InsertarFilasCantidadsitio() 'Variables para fil…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 813 visitas
  8. Started by Salvador1,

    Hola: Necesitaría insertar a la vez (con GetOpenFileName) las rutas de tantos archivos como seleccionara, dispuestos en una misma fila uno a continuación del otro (ej, si marco 3 archivos, se inserten sus rutas en A1, B1 y C1). ¿Cuál sería el código? He visto muchos ejemplos, pero permiten seleccionar sólamente un archivo. Razón: para aplicarlo a una plantilla que envía correos, por filas, con adjuntos. Saludos.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 929 visitas
  9. Started by jechu85,

    Hola a todos, vuelvo a consultarles ya que no encuentro solución, no se si es el sitio correcto, de no serlo indicarme por favor. Resulta que intento incrustar un archivo word de 100 paginas en excel, para que se imprima con el contenido que hay en excel. pero mi problema es que cuando lo incrusto, solo aparece el primer folio. ¿Como hacer para que se visualicen todas las hojas del documento? Un saludo y muchas gracias de antemano

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  10. Hola a todos, tengo un archivo que le debo insertar imágenes a una lista en celdas combinadas, me pregunto si se puede modificar la macro que adjunto que es la que uso para insertar imágenes sin celdas combinadas. en este archivo que adjunto ya tenemos las celdas combinadas, no siempre van a haber celdas combinadas y la imagen debe caer en una celda. Al eliminar una imagen de la carpeta aparece en el archivo como imagen no encontrada, por lo que hay que "pegar la imagen como valor". Agradezco mucho la atención, les pido de favor me puedan a poyar con este dilema, gracias. ejemplo.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.6k visitas
  11. buenas!, como están gente!, pues aquí estoy con una consulta sobre macros, de lo que yo no tengo idea, por eso acudo a ustedes por ayuda. Busque en el foro pero lo que encontré no es lo que estoy buscando. Desde ya gracias a todos. la consulta es la siguiente: mis datos originales como ejemplo son estos: (la lista original contiene mas de 1.000 filas) y necesito crear una macro que me inserte filas y copie el original pero con las sumas de +1 para "inicial" hasta llegar al mismo monto de "final" y +30 en las fechas, para que quede de esta manera: adjunto archivo ejemplo ayuda.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 691 visitas
  12. Started by enrux,

    Hola Compañeros Me ayudarían Con esto Intente lo mas Que pude pero no lo Logre Lo que intento es que al organizar valores primero por fecha y después de mayor a menor si son iguales Me las deje en la Misma Fila delo contrario Me baje el valor hasta que sea igual este es mi codigo Sub Conciliate() C = Range("B" & Rows.Count).End(xlUp).Row F = Range("F" & Rows.Count).End(xlUp).Row If C > F Then For i = 2 To 500 If Range("C" & i) = Range("F" & i) Then End If If Range("C" & i) <> Range("F" & i) Then If Range("C" & i) > Range("F" & i) Then Range("E" &a…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 522 visitas
  13. Hola a todos, mi nombre es Maurizio E incluso si entiendo que para muchos de ustedes esta solicitud mía no tiene mucho sentido; Para mí programáticamente mucho. Dicho esto, mi solicitud es esta: En un formulario de usuario, inserté un objeto (Calendar1) y 6 (TextBox) Ahora, el propósito de todo esto sería seleccionar uno de estos (cuadro de texto) y al hacer clic en (Calendario) ingrese la (Fecha seleccionada eso es todo ! Gracias como siempre desde ahora por toda la ayuda que me des al respecto. Un saludo desde Maurizio ################################ Hi everyone, my name is Maurizio And even if I understand that for many of you this request o…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 769 visitas
    • 1 seguidor
  14. Muy buen día, tarde, noche. Quisiera ver si ustedes me pueden ayudar a resolver algo. Como les comenté en mi anterior post, estoy siguiendo un tutorial en youtube, donde enseñan como manejar una base de datos de Access y que se vincule con Excel, para hacer un proyecto de facturación. Más allá del fin del proyecto, lo que busco es aprender. La cuestión es la siguiente: El tutor se vio obligado a resolver las dudas que se tenian con una Dll que él proporcionó para realizar la conexión entre access y excel. Por lo que hizo nuevamente el proyecto, y dejó para descargar el siguiente archivo: https://www.dropbox.com/s/0428g5qufad6xmf/DsigExpressAcces.rar?dl=0 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2k visitas
  15. Started by LARPI,

    Hola de nuevo, quería saber si en la instrucción CopyToRange habría la posibilidad que copiara sólo valores y mantuviera el formato de la hoja destino siempre igual. Gracias

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.4k visitas
  16. Started by 4lfr3d096,

    Hola a todos!!!! Espero puedan ayudarme a resolver este pequeño problema! Estoy creando una macro para que se cambien "dinamicamente" las etiquetas de datos de un grafico, el máximo de etiquetas que puede tener dicho gráfico son 8 . Y para lograrlo quiero insertar el siguiente codigo para que primero agregue las etiquetas de datos y después mediante la fucion If decida si la etiqueta de gráfico existe para asi asigarle el valor que se encuentra en una celda de la hoja. El codigo es algo asi: Private Sub CommandButton1_Click() ActiveSheet.ChartObjects("Gráfico 1").Activate With ActiveChart .FullSeriesCollection(1).Select .FullSeriesCollection(1).Appl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 748 visitas
  17. Invitado JorgehLeon
    Started by Invitado JorgehLeon ,

    Hola amigos de ayudaexcel... tengo una tabla en excel 2010 que en la columna B tiene los nombres y apellidos de varias personas y lo que requiero hacer es por medio de un formulario y un textbox de nombre a buscar, que al ir tecleando las letras del nombre me aparezca todos los nombres que incluyan lo que se esta tecleando para seleccionar el nombre buscado y pegarlo al textbox1........con un listbox????, un autocomplete???? o con que otra instrucción.... y si conocen algún ejemplo o ejemplos similares a lo que requiero???????? de antemano muchas gracias, su amigo Jorge

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 733 visitas
  18. Started by EdadMedia,

    Jelow, Yo por aquí de nuevo con dudas raras xD En excel, cuando escribes código en el editor de VBA a veces hay una herramienta que ayuda a autocompletar las palabras, parámetros dentro de un paréntesis o cosas así. ¿Alguien sabe si existe un límite de veces que ayuda en una misma línea? Ej: Si pongo, "ThisWorkbook.", sale desplegable y puedo encontrar "Sheets". Si pongo "ThisWorkbook.Sheets(", me pide un index para la hoja en cuestión. Pero si pongo "ThisWorkbook.Sheets(1)." ya no sale más. Me pasa lo mismo si escribo "ThisWorkbook.ActiveSheet." ya no aparece la ayuda, después de ActiveSheet. Mi du…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
    • 1 seguidor
  19. Started by lcastillo,

    Buenas tardes Amigos... Necesito si alguien me puede orientar... Quiero realizar una macro que me ayude a copiar información de un programa que utilizo en mi trabajo para crear una base datos que pueda manipular en excel y asi poder llevar unas estadisticas que necesito, el problema esta en que desconozco si existe alguna instrucción en especifico que me ayude a entrar a otros programas o alguna rutina que me ayude a entrar al programa y copiar la información. O si me pueden ayudar en donde me puedo documentar para poder encontrar la solución... De antemano les agradezco la ayuda que me puedan brindar... Saludos...

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 862 visitas
  20. Buenas noches, Soy nuevo por aquí y he observado que hay varios post referente a realizar envío de mensajes mas o menos complejos a Whatsapp desde VBA. Hecho en falta una parte muy importante, que es poder capturar una respuesta que te haya dado un contacto para almacenarla y/o avanzar en la conversacion. Pongo un ejemplo, Tengo un listado de citas medicas en Excel que me gustaría confirmar su asistencia mediante comunicación whatsapp. Con lo que he podido encontrar por los foros llego a poder enviar a cada contacto un recordatorio de la cita, pero necesitaría que de alguna manera me indicara si podrá asistir o no a la cita para us…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
    • 1 seguidor
  21. Como puedo desde una planilla excel local leer y bajar un dato (número de orden de compra), desde una planilla ubicada en un servidor con IP fija. Una vez leido el número incrementarlo en uno y subirlo al servidor remoto actualizado. Gracias por la ayuda que me puedan dar.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
  22. Started by jues,

    Saludos amigos Tengo un formulario (Fmrfechas) el cual debe aparecer una vez que haga Login en el Formulario (frmlogin) introduciendo un Usuario (TxtUSUARIO) y Clave (TxtCLAVE) para lo cual tengo esta macro que me funciona muy bien hasta ahora: Private Sub CmdACEPTAR_Click() Call Module1.BotonAceptar Fmrfechas.Show End Sub Sin embargo, cuando los campos Usuario (TxtUSUARIO) y la Clave (TxtCLAVE) estan vacíos o introduzco datos erróneos al hacer click en el Botón Aceptar (CmdACEPTAR) igual me aparece el formulario. Pregunta 01: requiero me ayuden con los elementos que deberían agregársele a la macro para que sí y solo si cuando el Usuario (TxtUS…

    • 0

      Reacciones de usuarios

    • 27 respuestas
    • 1.6k visitas
    • 3 seguidores
  23. Started by mcotrina,

    Hola, tengo una celda que contiene varias lineas, pero el espacio entre ellas es muy corto quiero ampliarlo porque se imprimira en un formato predefinido. ¿es posible eso? ¿cómo? espero su ayuda. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.7k visitas
  24. Started by castañitp,

    Con los buy buenos dias a todos , les manifiesto que me gustan mucho las macros, pero conozco muy poco de ello y estoy grabando una macro donde estoy sumando las celdas AR5 + AS5, o sea las columnas 44 y 45 Fila 5 y la furmula en la macros la siguiente: FormulaR1C1 = "=R[1]C[-9]+R[1]C[-8]" como se interpreta esa formula, que significa el signo menos antes de los Nros 9 y 8 y por que si estoy colocando la formula en la celda BA4, la macro hace referencia al rango BA5. Les adjunto la macro motivo de mis preguntas. Cordial Saludo y agradecimientos Sub SUMARMANOS() ' ' SUMARMANOS Macro ' ' ActiveCell.FormulaR1C1 = "=R[1]C[-9]+R[1]C[-8]" Range("BA5").Select End Sub

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 5.3k visitas
  25. Started by ccf22armdv,

    Me gustaria que me explicaran paso a paso este codigo, gracias de antemano. Dim ligne, débutOrg, f, forga, inth, intv, Tbl(), n, d Sub DessineAscendants() Set forga = Sheets("BD") Set f = Sheets("bd") Set d = CreateObject("Scripting.Dictionary") Tbl = f.Range("A2:I" & f.[A65000].End(xlUp).Row).Value n = UBound(Tbl) Set débutOrg = forga.Range("I23") ligne = 0 inth = 60 intv = 40 liginit = ActiveCell.Row - 1 lig = ActiveCell.Row - 1 couleur = IIf(Tbl(lig, 4) = "M", f.Cells(2, 2).Interior.Color, f.Cells(2, 3).Interior.Color) créeShapeP Tbl(lig, 1), couleur, 0, IIf(Tbl(lig, 4) = "M", "AM", "AF"), " " End Sub

    • 0

      Reacciones de usuarios

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