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?
8690 temas en este foro
-
Insertar fila/ escribir formula en filas salteadas Buenas! Tengo un fichero bastante grande, que contiene datos meteorologicos por horas. El caso es que yo los quiero cada media hora, por lo que quiero insertar una fila nueva y que en cada celda haga la media entre el valor de arriba y el de abajo. Me estoy rompiendo la cabeza y no consigo nada. Gracias a la ayuda de efmc, que he encontrado por el buscador, ya consigo insertar una fila nueva Sub InsertarFilas2()Dim intI As Integer With Range("$A$4:$A$13") For intI = .Rows.Count - Application.WorksheetFunction.IsEven(.Rows.Count) To 1 Step -1 .Cells(intI, 1).EntireRow.Insert xlDown Nex…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Hola a todos, Tengo este evento creado de tipo Worksheet_BeforeDelete: Private Sub Worksheet_BeforeDelete() Application.ScreenUpdating = False Application.StatusBar = "Procedimiento en ejecución..." ' Limpiamos los errores anteriores (por si acaso)... Err.Clear ' Tratamos los errores del evento... On Error Resume Next ' Si la contraseña no coincide, entonces... If FUNCIONES.comprobarContraseña(CONTRASEÑA_HOJA) = False Then ' Copiamos la hoja... ThisWorkbook.ActiveSheet.Copy After:=Sheets(ThisWorkbook.ActiveSheet.Index) ' Y notificamos al usuario con un mensaje de alerta... MsgBox Prompt:="Upps, parece que hubo un error…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Muy buenas. Espero que puedan ayudarme con lo siguiente. Mi macro crea carpetas segun el rango que seleccione, las carpetas tienen el nombre de cada celda. Dentro de cada carpeta se crean 5 carpetas mas con nombres que yo defini (1,2,3,4,5). (Esto ya lo termine) --------------------------------------------------------------------------------------------------------------------------------- Requiero lo siguiente 1.- Mediante eventos de click movere el cursor a una posición, dará doble click y se seleccionara un texto. (Esto ya lo he hecho) Private Sub DoubleClick() 'Double click as a quick series of two clicks SetCursorPos 200, 100 'x and y position mouse_e…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Hola amigos: Soy nuevo en el foro, estoy realizando mi PFC, mi duda es la siguiente: Tengo un cuadro de lista con diferentes artículos y tengo una macro que realiza una serie de operaciones cuando se realiza el evento click, mi problema es que en el cuadro de lista tengo unos 1000 artículos, y tengo que realizar estos mismos pasos para 10 años diferentes, es decir unos 10000 artículos, lo que me haría perder mucho tiempo si tengo que hacer el evento click manualmente. Por tanto estoy intentando realizar un bucle que me repita el evento click de mi listbox automáticamente para todos los artículos
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Private Sub ListadeBusqueda_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Me.ListadeBusqueda.ListIndex <> -1 Then CIdAutomatico = ListadeBusqueda.Column(0) 'A CProvincia = ListadeBusqueda.Column(1) 'D CEspecie = ListadeBusqueda.Column(2) 'N CTipodeRegistro = ListadeBusqueda.Column(3) 'K CMotivo = ListadeBusqueda.Column(4) 'L CSitio = ListadeBusqueda.Column(5) 'E valor_buscado = Me.CIdAutomatico.Value ufila = Sheets("BDCapturasMuertos").Range("A" & Rows.Count).End(xlUp).row With Sheets("BDCapturasMuertos").Range("A2:A" & ufila) Set filaseleccionada = Range("A2:A" & ufila).Find(valor_buscado, LookAt:=…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.3k visitas
-
-
hola. estoy desarrollando un macro que me baje un archivo plano a excel y al bajarlo necesito que me elimine la basura de este archivo plano; pero lo e intentado de varias formas y no e podido eliminar la basura de ese archivo esta fue la ultima forma que intente pero no lo elimina todo me saca erro 91 y no me deja continuar. Sub Macro1() ' ' Macro1 Macro ' ' ChDir "D:\" Workbooks.OpenText Filename:="D:\UFCG1041.PJB", Origin:=xlMSDOS, StartRow _ :=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(10, 1), Array _ (43, 1), Array(66, 1), Array(68, 1), Array(89, 1), Array(114, 1), Array(135, 1), Array(137, _ 1)), Decimal…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Amigos tengo la siguiente macro: Sub Ocultar() Dim r As Range Application.ScreenUpdating = False ActiveSheet.Unprotect Rows("21:500").Select Selection.EntireRow.Hidden = False For Each r In Range("A21:A500") If r = 1 Then r.EntireRow.Hidden = True Next r Application.ScreenUpdating = True End Sub He probado distintas formas para que queda mas rápida porque es demasiado lenta, he hecho por ejemplo ciclo for, la he separado en distintos rangos, he llamado con otra macro los distintos rangos, pero nada, nose como dejarla mas eficiente. ayuda amigos muchas gracias
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Bueno basicamente necesito una macro que me ordene la columna A por los colores que tengan las celdas. Seguramente se habrá abierto este tema anteriormente pero aunque he buscado en los foros no lo encuentro. Tengo un archivo con varias columnas y quiero que se ordene la columna A junto con los datos que contienen las demas columnas. ordenar por color.xls
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Hola, cómo están? estoy intentando encontrar un macro que me permita buscar una palabra en la columna A y reemplazar el valor en la columna B de la misma fila Cía codigo Chile 1 Argentina 2 Uruguay 3 Entonces se me abre el imput pongo argentina, se me abre un imput valor nuevo y pongo 10. Y me quedaría el siguiente resultado (mejor aún si me puedo parar arriba del valor y ya me traiga el imput automatico, es decir me paro sobre la celda A3 y cuando me sale el cartel del imput ya me autoaperece el valor Argetina, doy OK y paso al paso 2) Cía codigo …
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Hola buenas. Después de acabar de montar una hoja con sus fórmulas correspondientes, como ya me temía es más que súper lento abrir el libro casi imposible. La única solución que veo es cambiar las formulas por una macro, claro de esto ni idea solo usar un poco la grabadora y poco más. Estaría muy agradecido a que alguien me ayudara. Como podréis ver en el libro las formulas van desde W4:ADT 1199 la plantilla en las primeras filas en colores para dar una orientación en T4:U 1199 se ve hasta donde llega. Gracias de antemano de nuevo. Salud2. CONTAR COINCIDENCIAS 3 FORO.rar
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Hola , alguien porfavor me puede ayudar con esto? Tengo un USERFORM Listado que me muestra registros, al seleccionar uno de ellos quiero modificar en otro USERFORM através de un botón modificar, lo que necesito es que ese USERFORM me traiga los datos que había seleccionado para poder modificarlos Listado Modificar Proyecto-ISR-2607.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1.3k visitas
-
-
Estimados Un cordial saludo En esta oportunidad solicito de su especial ayuda para poder dar solución a un problema que tengo y no logro solucionar. En mi día a Día debo pasar información de PDF's o Word a programas de textos. Yo uso excel para facilitarme la labor ya que en muchas oportunidades los PDF con cada linea que tiene todos quedan con un salto de pagina el cual me toca quitar manualmente antes de pegar el texto en el programa. Loca esto me quita mucho tiempo y no logro optimizar mi tarea. Me permito adjuntar un excel de los textos que yo pego en el excel y el resultado de como los deseo tener por medio de una Macro o Formula que me permita hace…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Hola a todos, una ayuda más sobre este archivo que os adjunto. trata de 3 hojas. la 1 ingreso de datos. la 2 copiaría los datos a través de una macro y la 3 seria la búsqueda del historial no se si me he expresado bien, pero en el adjunto creo q se vera mejor. saludos. DATOS GUARDAR HISTORIAL.xls
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Hola amigos tengo un problemilla que quizás para ustedes expertos será fácil una tabla con muchas filas y columnas entre esas columnas 4 tienen fechas q suman días a partir de la primera sumando+7dias, +14dias y +28 días para su próxima verificación el tema es q diariamente tengo q imprimir las referencias q se revisaran al día siguiente con la grabadora de macros obtuve este código Sub ensayo() ' ensayo Macro Columns("A:H").Select Selection.ClearContents Sheets("Muestras").Visible = True Sheets("Muestras").Select Columns("BO:BO").Select ActiveSheet.Range("$BO$1:$BO$2001").AutoFilter Fiel…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
- 1 seguidor
-
-
hola expertos buenas noches mi idea es como podremos distribuir 800 numeros que se encuentran en la columna A pasarlos a la columna E en grupos de 40 numeros por columna
-
0
Reacciones de usuarios
- 5 respuestas
- 1.3k visitas
- 1 seguidor
-
-
Buenas tardes, no se lo que necesita formula o macro, quisiera una cosa simple. En la hoja 1, produzco la factura, con la consabida MACRO. En la Hoja Listado, tengo en la columna H la venta por articulo, lo que necesito son solo las salidas por articulo, quiero decir si he acumulado 12 salidas de ese articulo y salen otras 2 se me combiertan en 14. Como podría ir sumando las salidas, al hacer la Factura. Muchas gracias. Ejemplo.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Hola, Requiero de su valiosa orientación y ayuda, de antemano gracias! En la Hoja "DATA" tengo la información que necesito se pase a la hoja "RESULTADO" el id es el número de empleado que esta en la Hoja "RESULTADO" A2 solo se tiene que pasar toda la información que coincida con este dato. En la hoja "RESULTADO" he dejado como debe de quedar la información. Anexo archivo muestra. Muchas gracias! muestra.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Buenas tardes estoy creando un proyecto de stock de inventario , para ingresar piden usuario y contraseña , y se activa un menu automaticamente con varias formas , las idea es que son dos usuarios inicialemente , admin y ventas , quisiera general informes de todos los movimientos pero que solo los pueda ver el admin , estos botones los queria colocar en el menu , pero el usuario ventas tambien los puede ver y ejecutar , que manera hay de restringir el ingreso a un boton de estos al usuario ventas y no al admin , que puedo hacer , talvez antes de ejecutar pedir la contraseña pero como lo hago ? espero este claro y me puedan colaboral , no coloco archivo ya que me tocari…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.3k visitas
-
-
Buenas días Espero que me puedan ayudar. Mi problema es el siguiente: Tengo un excel el cual posee 3 hojas (CAAA0547, Hoja2, Hoja5). En la hoja CAAA0547 tengo la base de datos. En la hoja 2 tengo dos macros una de busqueda segun algunos criterios y una que borra la busqueda, luego de realizar esta busqueda se calculan los promedios de días, mi problema es que yo quiero llevar este promedio de dias a la hoja 5 en donde copie esos dias dado los criterios definido en la hoja 2 y luego de que sean copiado en la hoja 5 este resultado no se borre. Espero que se entendiera mi problematica. Atte Nicolás pD: Adjunto archivo CAAA0547.zip
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Amigos espero puedan ayudarme con esto quiero habilitar y deshabilitar la solo lectura via codigo, pero cuando deshabilito se cuelga y se cierra, a veces si funciona pero la mayoria no. Sub ActivarSoloLectura() Application.DisplayAlerts = False If Not ThisWorkbook.ReadOnly Then ThisWorkbook.ChangeFileAccess xlReadOnly End If Application.DisplayAlerts = True End Sub Sub DesactivarSoloLectura2() On Error Resume Next If ThisWorkbook.ReadOnly Then With ActiveWorkbook SetAttr .FullName, vbNormal .ChangeFileAccess xlReadWrite Application.DisplayAlerts = False .Save Application.DisplayAlerts = True End With End If End Sub MACRO S…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Muy buen día, tarde, noche estimados Llevo ya rato de no molestar con mis dudas, ni poder aportar nada a la comunidad, y de antemano me disculpo por ello. En esta ocasión quisiera solicitar de su amable ayuda, pues no logro resolver una secuencia en vba. Tengo el siguiente código: Dim Nombre As String Nombre = "Índice WP" Dim Hoja As String Hoja = ActiveSheet.Name For i = 1 To Worksheets.Count If Worksheets(i).Name = Nombre Then txtCliente = Worksheets("Índice WP").Range("Cliente").Value txtAuditoria = Worksheets("Índice WP").Range("Auditoria").Value Exit Sub Else MsgBox "No se ha creado el índice de papeles de traba…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Buen día, Amigos quisiera solicitar la ayuda con el siguiente problema que tengo con un combobox en el cual estoy intentando que cuan el usuario seleccione una opción este me cargue los valores en estas celdas B12:E38, dichos valores a cargar los he colocado en las celdas S1 y W1 respectivamente(resaltado en amariilo y verde). La idea es que si el usuario selecciona "Dia Par" cargue los valores que corresponden a este opción, adicionalmente me gustaria si el codigo permitiera colocar el usuario(application.Username) en la celdas J12:J38. Agradezco si esta dentro de la volunta de alguno ayudarme a solucionar mi problema. Saludes, Jose Libro33.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Buen día, Tengo un requerimiento que no tengo la noción de como ejecutarlo/programarlo. El tema es el siguiente, tengo un archivo excel que se usa en toda la empresa donde trabajo para crear cotizaciones. Este archivo tiene formularios y formulas en sus hojas, ademas una vez terminada una cotización te permite exportarla a xls (sin formulas ni procedimientos) y pdf. Tiene un procedimiento que al abrirlo o cerrarlo te limpia todo lo que si es editable y queda listo para volver a crear una nueva cotización. Entonces el tema es que quiero crear la funcionalidad de poder cargar una cotización antigua a este excel. Obviamente solo quiero cargar ciertos campos ya que no quie…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
hola buenas noches, tengo una gran inquietud sobre un problema que se me presentó pero no tengo idea de como abordarlo o como empezarlo a nivel de programacion por eso acudo a ustedes porque conocen mas que yo (obviamente) sobre excel y vb y quiero tratar de explicarles del como necesito que funcione esto, se trata de lo siguiente: es un formulario que inserta datos en una hoja, pero quiero hacer una buena validacion de los datos que se van a insertar antes de insertarlos. el formulario tiene los textbox - nombre completo - fecha de nacimiento - nacionalidad - estado civil - y necesito que esos rubros sean validados donde: Si lo que contiene esos textbox son distintos…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Tengo una planilla Excel con fechas de vencimientos, las cuales actualizo periodicamente. Generé una función para crear citas en el calendario de Outlook. Esta función se la asigné a un botón... el problema que tengo es que cada vez que presiono el botón me genera nuevas citas... necesitaría ver como validar si la cita ya existe en el calendario de Outlook, que no la vuelva a crear. Gracias! A continuación les paso el código que tengo: Function Generar_cita_xfecha(texto_cita As String, fecha_cita As Date) Dim miOutlook As Object, miCalendario As Object, miCita As Object Set miOutlook = CreateObject("outlook.application") Set miCalendario = miOutlook.…
-
0
Reacciones de usuarios
- 0 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 sergio@ayudaexcel.com
Información adicional: Encontrarás más información en la política de privacidad.