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?
8680 temas en este foro
-
Tengo la siguiente Macro, como puedo añadirle al nombre del archivo a guardar me coja un dato más a añadir, el valor de una celda Sub Guardar() nbre = Format(Now, "dd-mm-yyyy hh mm ss") ruta = "\\NTCL02\Calidad_a\Lcalidad\LABORATORIO_VARIOS\Peticion_ de_ensayos_FECHA" ActiveWorkbook.SaveCopyAs ruta & "\" & nbre & ".xlsm" End Sub
-
0
Reacciones de usuarios
- 13 respuestas
- 1.5k visitas
-
-
Hola, estoy armando una macro para ingresar a una pagina para cargar datos, porque en este momento no esta funcionando el programa que lo hace automaticamente. No puedo avanzar desde la carga de usuario y contraseña, sale el mensaje: "se a producido el error 91 en tiempo de ejecucion: Variable de objeto o bloque With no establecido". Segun el depurador ocurre con la linea "Loop Until ie.readystate = 4". Otra duda que tengo es con la linea "ie.Document.getElementById("submitbutton").Click" aunque todavia la macro no llego a ejecutar esa linea estimo que debe tener error porque la saque de un ejemplo de la web. Haciendo F12 en la pagina, el boton "Aceptar" le corresponde lo…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.3k visitas
-
-
Hola amigos foreros Tengo una consulta que no se si es posible hacerse, he probado varios métodos y no me funcionan, les explico, guardo en una columna los nombres y en otras su condición, lo que necesito es que el combo se rellene de los datos de la columna "A" que cumplan los criterios de la columna "X" Por ejemplo, si guardo varios nombres con el criterio cliente, representante, bancos, que cuando yo busque en la hoja por la columna "A" donde están los nombres, solo me aparezcan los relacionados con el dato de la columna "X" Les agradezco su ayuda Saludos
-
0
Reacciones de usuarios
- 16 respuestas
- 1.2k visitas
- 1 seguidor
-
-
Buenos dias Tengo una hoja con unas condiciones en una de las celdas, y con una macro quiero que al ejecutarla, se copie las conficiones de la celda F2 al resto de celdas de la columna, pero no hasta el final si no hasta la ultima celda con datos. Tengo este codigo y funciona, pero me aplica con la condicion de la celda F2, es decir Si f2 es menor que E2 ponte rojo, y en la siguiente fila queria que si F3 es menor que E3 ponte rojo, o si es mayor ponte verde, Adjunto el codigo Sub Condicionar() Range("F2").Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F$2=$E$2" Selection.FormatConditions(Sel…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
Buenos dias Mi problema es el siguiente tengo una tabla de mes que tengo que rellenar con el valor tipo segun cada agente, de la tabla de datos. En el anexo se ve el objetivo Gracias por vuestra colaboracion tablasmes.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1k visitas
-
-
Hola a todos, queria hacer una consulta, se puede cambiar el color de fondo de un TextBox que está situado en el UserForm1 desde el UserForm2
-
0
Reacciones de usuarios
- 2 respuestas
- 1.1k visitas
- 1 seguidor
-
-
Buenas tardes, bueno mi dificultad es en cuanto consultas con tres criterios, haciendo uso de los checkbox con criterios y la generación en el listbox. la expiación de la siguiente manera: SI checkbox1(fecha) = fecha 1 <= fecha2 ENTONCES Me genera reporte entre un fecha determinada - (esto funciona) SI checkbox2(cliente) = criterio ENTONCES Me genera reporte de un cliente determinad - (esto funciona) SI checkbox3(tipo pollo) = criterio ENTONCES Me genera reporte de un tipo de pollo determinad - (esto funciona) SI checkbox4(Fecha, Cliente, Tipo de Pollo) = fecha, cleinte, tipo de pollo ENTONCES Me genera r…
-
0
Reacciones de usuarios
- 2 respuestas
- 992 visitas
-
-
Buen dia, Normalmente uso este codigo en un archivo que utilizo en el trabajo donde marco con una "x " celdas a lo largo de toda la columna B:B, hoy intente agregar otras y creo que no lo estoy haciendo correctamente porque no me aparecen, que necesito hacer para incluirlas correctanebte? adjunto el codigo Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Columns("B:B"), ("D:D"), ("F:F"), ("H:H"), ("J:J"), ("M:M"), ("O:O"), ("Q:Q"), ("S:S"), ("U:U")) Is Nothing Then Exit Sub If Target.Row < 5 Then Exit Sub If ActiveCell = "x" Then ActiveCell = "" Else ActiveCell = "x" End If En…
-
0
Reacciones de usuarios
- 4 respuestas
- 927 visitas
-
-
Hola! estoy tratando de armar una macro que me permita crear desde un listado en un excel: Un conjunto de archivos excel con un nombre específico, nombre establecido en el listado como "Nombre Archivo" y "Direccion" En cada archivo creado un conjunto de hojas con nombre específico, nombre establecido en el listado como "idseccion" En cada hoja creada completar los datos en unas celdas, en el listado "Codigo", "Asignatura", "Seccion" Me apoyé mucho en una macro que pillé en este foro para crear los archivos y las hojas, pero no logro hacer funcionar con la combinación de correspondencia para que me copie en las celdas definidas como <> el dato…
-
0
Reacciones de usuarios
- 5 respuestas
- 5k visitas
-
-
Buenas noches Foristas, mi nombre es Juan Carlos Jones y deseo que por favor me ayuden con esta plantilla. Lo que deseo hacer es que cuando le coloqu el mes de la aplicacion o uso de un producto este se el mes en el que se le coloque valor economico en el mes o los meses que correspondan. En la cedal C26 coloco la repeticion o cada cuanto se usa o plica el producto y deseo que el valor se coloque solo en el mes de su aplicacion. Ejemplo: Control de malezas se aplica cada 2 meses, esto quiere decir que cada dos meses debe aparecer el valor de esa aplicacion, mes 2, 4, 6 y 8 No he podido resolverlo. Muchas gracias por su ayuda. Anexo…
-
0
Reacciones de usuarios
- 7 respuestas
- 1.5k visitas
-
-
Sub GuardarEXEL() ' 'Guardar archivo exel ActiveSheet.Copy Selection.Copy Ruta = Range("H13") nomb = Range("C16") ActiveWorkbook.SaveAs Filename:=Ruta & nomb & ".xls ", _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False End Sub Necesito que solo guarde la hoja activa y de la columna A hasta la E Gracias
-
0
Reacciones de usuarios
- 1 respuesta
- 1k visitas
-
-
Saludos: Tengo una tabla ya definida con un rango de B9:I250. No importa si usas las primeras 10 o las utilizas todas siempre es el mismo rango. Yo tengo un macro VBA donde primero sorteo en una columna en particular y en orden ascendente con el propósito de colocar todas la información en orden y evitar que hayan espacios en la tabla. Luego de sortear, identifico la ultima celda escrita y borro cierta información que pueda haber en otras columnas. Por ejemplo siempre termino sorteando la columna B, si en la celda X de la columna B no hay nada escrito entonces puedo borrar la información que haya en las columnas C,D, H. Sim embargo esto lo logro utilizando la función…
-
0
Reacciones de usuarios
- 2 respuestas
- 862 visitas
-
-
Hola chic@s. Tengo unos datos de origen en una hoja a los que hay que hacerles unas operaciones y quiero colocar el resultado donde elija el usuario. Esto lo solicito mediante un inputbox: Set celdaDestino = Application.InputBox(prompt:="Selecciona donde quieres situar el resumen", Title:="Posición de destino de los datos", Type:=8) El problema lo tengo cuando se elilge como destino una hoja distinta. Necesitaría guardar en una variable esa hoja de destino. Por ahí he encontrado una solución que selecciona esa hoja y la celda elegida y....entiendo que como así la hoja se convierte en activa ya puedo guardar su nombre en la variable hojaDestino. …
-
0
Reacciones de usuarios
- 4 respuestas
- 1.8k visitas
-
-
Estimada Comunidad: Recurro a ustedes esperando que se encuentren muy bien: Les escribo para hacer consulta sobre como podría generar números aleatorios con VBA, los cuales se vayan enlistando a medida que vayan saliendo. Mi idea es simular un sorteo aleatorio de las personas que se deberán encargar de la limpieza de un lugar y que, una vez les haya tocado limpiar, quede registrado en una hoja excel el día que les ha tocado. Además, lo ideal es que no se repitan hasta que todos hayan pasado por 1 día de limpieza. De lo anterior desprendo que lo necesario es lo siguiente: 1) Generar 3 números aleatorios que no se repitan entre sí. 2) Verificar si ya han limpiado …
-
0
Reacciones de usuarios
- 13 respuestas
- 3.7k visitas
-
-
Buenos dias Tengo una rutina que me guarda los datos de un formulario a dos hojas excel dentro del mismo libro y necesitaría que en esa misma rutina me creara un archivo pdf con el nombre del label "lb_parte" Private Sub Imprimirparte2() Dim final As Long Dim fila As Integer With ThisWorkbook .Sheets("PARTE DE TRABAJO").Range("r2").ClearContents .Sheets("PARTE DE TRABAJO").Range("d2").ClearContents .Sheets("PARTE DE TRABAJO").Range("g2").ClearContents .Sheets("PARTE DE TRABAJO").Range("l2").ClearContents .Sheets("PARTE DE TRABAJO").Range("c3:o4").ClearContents .Sheets("PARTE DE TRABAJO").Range("b8").…
-
0
Reacciones de usuarios
- 1 respuesta
- 733 visitas
-
-
Buenas llevo días trabajando sobre una macro la cual realiza varios calculos, obtiene datos, etc. El problema es que cuando la ejecuto excel aparece como no responde. Tarda bastante y no veo que coja todo los recurso del pc. Dicho esto lanzo mis dudas. *Viendo esta programación creéis que es normal no espero que la entendáis, la idea es daros una visión del volumen . Private Sub CommandButton2_Click() Dim variable As String Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False numero_de_cables = Application.CountA(Worksheets("Cable list ").Ra…
-
0
Reacciones de usuarios
- 6 respuestas
- 4.5k visitas
-
-
Buenos días esta pregunta esta relacionada con el hilo anterior el cual me dieron una solución perfectamente valida, copio en enlace para que sepáis de que hablo. Pero claro ahora me surge la duda, cuantas o que formas hay de "sacar" valores de un modulo, cual es la que normalmente utilizáis o recomendáis. Vuelvo a pedir perdón si soy muy pesado pero creo que mientras mas conocimiento se comparte mas se aprende.
-
0
Reacciones de usuarios
- 2 respuestas
- 783 visitas
-
-
Estimados amigos del foro, esperando en este momento sigamos cuidándonos del problema mundial. Entre tanto, he estado tratando de poder resolver un problema en la que me quede estancado. Se trata de determinar el número de horas de investigación por mes pero para ello hay que separar a días laborables y nuevamente de estos tomar en cuenta el dia que ha sido asignado esta labor y las horas estipuladas. Aquí es necesario distinguir un año normal del bisiesto. Todo esto surge sobre todo por que cada mes muestra semanas incompletas al inicio o al final. Por esta razón he creído que es mejor tomar en cuenta no por semana sino por los días del mes (Ver imagen). Aquí n…
-
0
Reacciones de usuarios
- 2 respuestas
- 897 visitas
-
-
Hola estimados foreros, de nuevo con un problema, haber si alguien me puede colaborar a resolver, tengo este codigo, lo utilizo para pasar los datos del listbox a una hoja un dato encima de otro, el caso es que cuando le pulso al boton, me copia una fila y se bloquea el programa Les agradezco su ayuda Un cordial saludo Set h1 = Sheets("Creditos") u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1 For i = 0 To ListBox1.ListCount - 1 h1.Cells(u, "A") = ListBox1.List(i, 0) 'Cantidad h1.Cells(u, "B") = ListBox1.List(i, 1) 'Unidad h1.Cells(u, "C") = ListBox1.List(i, 2) 'Descripción h1.Cells(u, "D") = ListBox1.List(i, 3) 'Factura …
-
0
Reacciones de usuarios
- 20 respuestas
- 2.7k visitas
- 1 seguidor
-
-
Hola buenas tardes foreros. Retomando una macro que tenía a medias, a ver si podéis ayudarme porque mis conocimientos en VBA no son muy amplios y por más referencias que miro en ejemplos de "exportar a pdf" no saco el error. Describo: - Función: Exportar un rango de la hoja a pdf en función de 2 variables, para esto utilizo "if" con ocultar y mostrar filas para que entrase justo en 1 o 2 hojas. - Errores: 1 - El msgbox de la ruta donde guarda el archivo SIEMPRE muestra la ruta donde se ENCUENTRA el excel, NO donde lo ha guardado. 2 - Da igual el nombre que pongas en en el msgbox de "guardar como", siempre utiliza el pre-programado. …
-
0
Reacciones de usuarios
- 5 respuestas
- 3.1k visitas
-
-
Buenas a todos. Estoy realizando un ejercicio en el que se me pide mostrar un msgbox en el que aparezca el texto que hay contenido en una celda. Hasta ahí bien, no hay problema. El problema es que ese texto debe incluir una variable y mostrar en el msgbox el valor de la variable. Es decir, que si en el contenido de la celda está el texto "El resultado de la suma es VARIABLE_SUMA", en el msgbox debe aparecer "El resultado de la suma es 4" Adjunto un archivo de ejemplo para intentar que se vea más claro. Muchas gracias por adelantado. Un saludo. Ejercicio msgbox de celda con variable incluida.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 9k visitas
-
-
En Hoja ENTRADAS Y SALIDAS al seleccionar Botón NUEVA ENTRADA se posesiona en fila inicial 8. En celda C8 con BUSCARV Busca el Código B8 en Hoja INVENTARIO Rango $A8$E1000 pero al agregar un NUEVO ARTÍCULO en Hoja INVENTARIO y volver a Hoja ENTRADAS Y SALIDAS en Celda C8 se ha cambiado la fórmula de BUSCARV y aparece Rango $A9$E1001 (es decir me cambia el Rango de BUSCARV). Muy cordialmente solicito, favor colaborarme GESTION DE INVENTARIO.xlsm
-
0
Reacciones de usuarios
- 15 respuestas
- 3.4k visitas
-
-
buen día Compañer@s, espero que se encuentren bien! acudo a ustedes porque tengo el siguiente problema: En el adjunto encontrará un archivo ("Pedidos PDTES TYD") donde se compone de 3 hojas: Proveedores, TYD y BD. Necesito que se copie el archivo tantas veces como la cantidad de usuarios que se encuentran en la hoja BD de la columna A. Es decir, sí hay 5 usuarios, este archivo se debe copiar 5 veces, cada una de las copias con el mismo nombre original del archivo mas el usuario ("Pedidos PDTES TYD" + nombre usuario) [ya realicé una macro y me está funcionando]. Pero acá no acaba el problema. En la hoja "TYD" en la columna "AF" se debe consolidar todos los coment…
-
0
Reacciones de usuarios
- 1 respuesta
- 545 visitas
-
-
Buenos dias No se como expresar muy bien mi pregunta pero lo intentare. Al rellenar mi formulario hay un campo que habitualmente no se rellena y se manda vació a la hoja excel determinada.en esa hoja es excel donde van los datos tengo la funcion si ESBLANCO para determinar que me devuelve un 1 o un 0 para mas adelante realizar una división. El problema es cuando ejecuto el código la formula siempre me devuelve que hay un valor aunque no lo vea y me devuelve un 1. No se donde puede estar en error , sien la elección de la formula o dentro del codigo. .Worksheets("Hoja1").Range("B12").Value = Me.eje3 espero puedan ayudarme.
-
0
Reacciones de usuarios
- 4 respuestas
- 2.7k visitas
-
-
Hola compañeros: Tengo un formulario que contiene múltiples comboboxes. Tengo definidos una serie de NOMBRES en la hoja de cálculo y asigno en la programación de cada uno de los comboboxes mediante su propiedad Rowsource el nombre que le corresponde. De esta manera cuando añado a la lista un elemento, automáticamente lo tengo disponible en el combobox la siguiente vez que ejecute el formulario. Todo parece funcionar correctamente excepto cuando ejecuto otra hoja de Excel (incluso una nueva hoja sin datos). Si, por ejemplo tengo una hoja de excel nueva abierta y ejecuto mi hoja excel con mi formulario, no me coge los datos en los comboboxes. Es com…
-
0
Reacciones de usuarios
- 4 respuestas
- 4.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.