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?
8683 temas en este foro
-
Buenas noches. necesitaría ayuda para poder terminar la macro que estoy haciendo, estoy aprendiendo a programar macros y estoy perdido. La idea es cuando ejecute el UserForm, pinchar en uno de los OptionButton que hay, introducirá el dato correspondiente en la celda donde este el cursor y a continuación saldrá un mensaje preguntando el numero de veces que quiero que se repita la acción, copiando el valor en las celdas de la derecha según el número indicado. lo he intentado con ActiveSheets.Columns pero no soy capaz. Me gustaría que alguien me oriente como terminar esta macro. Un saludo y gracias a todos de ante mano. Bateria2.xls
-
0
Reacciones de usuarios
- 7 respuestas
- 993 visitas
-
-
Hola, tengo este archivo que contiene una macro (listado) y una lámina powerpoint (CERTIFICADO DE ASISTENCIA) y quisiera saber si pueden ayudarme a modificar. La idea es convertir una plantilla de certificado automáticamente en formato PDF para de esa forma hacerlos de una forma más rápida. El powerpoint debe tomar del archivo listado los datos necesarios, es decir, NOMBRE y C.I. y de ser factible que utilice una determinada tipografía que se coloque en esa misma carpeta, ¿ES POSIBLE? modelo.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 993 visitas
-
-
En el formulario tengo 100 Proveedores y elimino el de la linea 42, me queda la numeracion salteada como se ve en la imagen, la numeracion no continua porque las lineas se corren hacia arriba COMO DEBE SER y esta bien pero la numeracion queda salteada Para ordenar los datos al ingresar o editar datos, tengo desde la columna B hacia adelante porque no puedo ordenar por la A porque entonces me quedaria los nombres desordenados y los quiero seguir teniendo ordenados Rem Ordena la columna NOMBRE ( alfabeticamente (A a Z) X = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row Set myrange = ActiveSheet.Range("B2:J" & X) 'ordena hasta la columna J myrange.Sort Key1…
-
0
Reacciones de usuarios
- 2 respuestas
- 993 visitas
-
-
-
Hola amigos agradezco de antemano su colaboración Pues antes de colocar un tema investigo y veo la forma de hacerlo pero no he encontrado mucha ayuda al respecto. Tengo varios Archivos TXT y CVS y XLS en carpetas y siempre tengo que abrir 1 a 1 cada archivo copiarlo y pegarlo en la hoja donde estoy trabajando. cada archivo tiene el mismo formato. pero varian la cantidad de filas. lo estaba haciendo muy manual y había creado una macro de repetición y la copiaba y la pegaba para que me repitiera la función. esto también es demorado. He visto otras macros que cuando las activas te salen un cuadro para que explores que carpeta elegirla y ella te trae los archivos que con…
-
0
Reacciones de usuarios
- 0 respuestas
- 993 visitas
-
-
Estimados En esta ocasion necesito de vuestra ayuda, ya que tengo una macro con la funcion select case para sumar, restar, multiplicar y dividir dos valores, pero no me funciona..Revise el codigo y no encuentro el error , ya que soy novato en esto de VB. El ejercicio es el siguiente: En la celda A1 Y A2 estan los valores , en la celda B1 esta el signo de la operacion y el resultado debe ir en la celda A3, este es el codigo: Public Sub ejemplo_select_case() Dim Signo As String Dim Valor1 As Integer, Valor2 As Integer, Total As Integer Valor1 = ActiveSheet.Range("A1").Value Valor2 = ActiveSheet.Range("A2").Value Si…
-
0
Reacciones de usuarios
- 5 respuestas
- 993 visitas
-
-
Buenas tardes, Hola amigos del foro, gracias al aporte de tierra_pampa en este foro estoy intentando aplicar el siguiente código con formula a mi archivo, en la hoja llamada BD, la formula la he logrado aplicar acorde a su evaluación pero no consigo que evalúe las celdas restantes hacia abajo para las columnas E, G e I a partir de la celda# 4 de cada columna, adjunto el código: Sub convertir2() 'V11/03/2016 - macro para jose-bn.80149 Hoja1.Activate ufila = Cells(Rows.Count, 1).End(xlUp).Row With Hoja1.Range("E4:E" & ufila) .FormulaR1C1 = "=IF(RC4="""","""",(IF(RC4<=RC14,1,0)))" End With With Hoja1.Range("G4:G" & ufila) .FormulaR1C1 = "=IF(RC6=…
-
0
Reacciones de usuarios
- 1 respuesta
- 993 visitas
-
-
Buenas noches comunidad, Mi consulta va por el metodo workbook, quiero saber si se puede emplear ese metodo para hacer que el libro al guardarse manualmente o autoguardado, envíe los datos guardados a otro libro actualizando fila por fila, columna por columna , empleando la ruta u otros metodos. Agradezco su respuesta. Saludos, Dayo Cascav
-
0
Reacciones de usuarios
- 2 respuestas
- 993 visitas
-
-
Cada vez que ingreso un registro, a través de un formulario, tengo que cerrar y volver a abrir el formulario para poder introducir otro registro; y, así sucesivamente. Si lo intento registrar a continuación uno de otro, me sale una pantalla que dice: "Valor de propiedad no válido" Podría tener algo que ver que los ComboBox del formulario, los tengo con la propiedad MatchEntry en 1-fmMatchEntryComplete, para obligar al usuario a que elija uno de los datos de la lista que se despliega del ComboBox e impedir que pueda escribir cualquier cosa. Esta la parte del código que utilizo para registrar los datos del UserForm: PrivateSubcmdRegistra_Click() DimSalirAsBoolean,Esta…
-
0
Reacciones de usuarios
- 2 respuestas
- 993 visitas
-
-
saludos tengo dos archivos el uno donde tengo datos de ingreso de un formulario, el otro una base de datos de diferente tipo he intentado de varias manera vincular las celdas del formulario con los datos del otro archivo para que al momento de escribir en las mismas se autollene como cuando en una secuencia se tiene iguales nombres y no cometer errores el rato de ingreasar los datos, no se si habria alguan manera de hacerlo en excel gracias por la ayuda de antemano formato y datos.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 993 visitas
-
-
Buenos dias, amigos espero me puedan ayudar con este problema que encontre. Tengo abierto un formulario1 donde hay un listview, llamo al formulario2 donde ingreso los datos para el listview del formulario1, el problema es que al cerrar el formulario2, quisiera que el foco pase al listview, pero no lo consigo: Private Sub btnAceptar_Click() Call Agregar_Asientos_Voucher Unload Me UFVouchers.ListView1.SetFocus ''AQUI Mando el foco pero no lo reconoce End Sub Sub Agregar_Asientos_Voucher() Dim i As Integer With UFVouchers.ListView1 i = .ListItems.Count + 1 Rem MsgBox .ListItems.Count .ListItems.Add(i).Text = UFSubVouchers.txtCtaCbl…
-
0
Reacciones de usuarios
- 1 respuesta
- 992 visitas
-
-
Hola amigos, disculpen pues son dos en uno, el primero tengo un USERFORM pero necesito llenar unas columnas discontinuas (D:G) y de la (W:AH). En el userform si se pudiera agregar un boton para corregir datos (limpiar fila y corregir) Mil gracias. Libro1.rar
-
0
Reacciones de usuarios
- 7 respuestas
- 992 visitas
-
-
Hola buenas noches me podrian ayudar con este archivo ejemplo, necesito copiar en hoja resumen los ingresos por dias y las salidas por dia en hojas resumen de tabla de control de inventarios, espero sus comentario gracias. adjunto ejemplo y un intento de macro pero me he quedado trabado explicación en archivo modulo vba de antemano gracias, salu2 Ejemplo Resumen.xls
-
0
Reacciones de usuarios
- 7 respuestas
- 992 visitas
-
-
Hola compañeros, espero ser claro. Tengo un hoja protegida al igual que muchas celdas bloqueadas, y las desbloqueadas son las que ingresan los datos, quisiera poder cambiar el tipo de fuente y el tamaño de las celdas que estan bloqueadas. De antemano agradezco su colaboracion, ya que llevo dos dias intentando buscar la macro que ejecute esta accion y no la he encontrado. Gracias.
-
0
Reacciones de usuarios
- 0 respuestas
- 992 visitas
-
-
Aplicar formula DIAS. HABILES, en un formulario VBA buenas noches a todos en el foro, mi idea es carcular dias habiles dentro de un formulario, y a subes descontar los dias feriados. ejemplo, tb_1 = fecha inicial, tb_2= fecha final, tb_3= dias feriados, lb_1 = resultado, espero me puedan ayudar con mi problema...buenas noches a todos...... y gracias por la ayuda de ante mano. DIAS_LABORALES.rar
-
Buenas noches, Como vereis, entre otros, utilizo dos UserForm: uno, para la entrada de datos (UserForm1); y, el otro, (UserForm2), para modificarlos. El problema me surge en la modificación de registros (utilizando el UserForm2); ya que, cuando el registro a modificar se encuentra duplicado, aunque con fechas distintas (supongamos uno con fecha de 2013 y el otro del 2014), todos sus registros se duplican. En cambio, si el registro es único, se modifica sin problema. Ejemplo: En la Hoja "INICIO", ejecutamos “Modificación de Informes”, en el formulario que se abre, ejecutamos “Modificación de Datos”, y en en el ComboBox “Número de Registro”, desplegamos y elegimos e…
-
0
Reacciones de usuarios
- 3 respuestas
- 991 visitas
-
-
Buenas tardes, el tema es así, en un mismo libro tengo muchas hojas, en una de las cuales tengo una tabla con datos que se está "expandiendo" en filas, diariamente, para evitar que la tabla se ponga "pesada" quisiera mensualmente yo activar una macro que corte el contenido de esta tabla y la pegue en la parte superior de otra tabla igual, que está en otra hoja, así usar de almacenamiento esta segunda tabla. No se como armar una macro, con el grabador armé algunos que dan vergüenza y no funcionaban juntas Subo un ejemplo, el orden es cortar todos los datos de la tabla (BDVentas) y pegarlos en la parte superior de la tabla (Tabla9) osea a partir de la celda A3 …
-
0
Reacciones de usuarios
- 4 respuestas
- 991 visitas
-
-
Buenos Dias , me podriais pasar una macro la cual su funcion sea borrar datos de otras hojas del mismo libro con cierto datos que me interesan eliminar? Muchas gracias a todos espero que podais echarme un cable.
-
0
Reacciones de usuarios
- 1 respuesta
- 991 visitas
-
-
hola tengo esta formula =SI(CONTAR.SI(G1:G4000,H1),COINCIDIR(H1,G1:G4000,0),0) pero cuando la jalo me mueve g1 y g4000 y h1 pero solo quiero que enumere h1 y g1 y g400 que no se muevan ya que es el rango de busqueda. Como le puedo hacer, la formula es para arrojar H que se repita en la columna de G Les dejo el codigo en visual basic Range(“J1″).Select ActiveCell.FormulaR1C1 = _ “=IF(COUNTIF(RC[-3]:R[39]C[-3],RC[-2]),MATCH(RC[-2],RC[-3]:R[39]C[-3],0),0)” - - - - - Mensaje combinado - - - - - ya quedo les dejo lo que hice por si alguien tiene el mismo problema =SI(CONTAR.SI(A$1:A$4000,B1),COINCIDIR(B1,A$1:A$4000,0),0) lo que hice fue hacer valor absoluto a lo que …
-
0
Reacciones de usuarios
- 1 respuesta
- 991 visitas
-
-
Buenas, Estoy trabajando en una BBDD Access y me gustaría poder cambiar los encabezados de columna de todos los libros excel que se encuentren en un determinado directorio simplemente pulsando un botón desde un formulario en access. Tengo por un lado la bbdd access en una carpeta, dentro de la carpeta tengo otra carpeta llamada encabezados que contiene el libro con el encabezado que quiero pegar en todos los libros excel (encabezado.xls), también tengo otra carpeta (extracciones) que contiene más de 100 libros excel a los que quiero cambiar su encabezado por los del libro encabezado.xls. Se trataría de crear mediante VBA el código que insertado en el botón de un form d…
-
0
Reacciones de usuarios
- 0 respuestas
- 990 visitas
-
-
Hola tengo varios archivos con diferentes rangos y registros los cuales necesito pasar a otro libro en excel he investigado un poco en la red o youtube para ver si exiten ejemplos similires a lo que requiero pero no encuentro nada ,no tendria problema en copiar rangos completos o continuos pero los registros que necesitos van salteados con diferencia desde 3 filas hasta 20 .Adjunto los archivos .Espero que alguien me puede asesorar Buen día a todos 1. Estado Analítico de Ingresos.xls 2. Estado Analítico del Ejercicio del Presupuesto de Egresos Clasificación por Objeto del Gasto.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 990 visitas
-
-
Buenos días, Tengo un fichero Excel, con su macro, desde el que envio correos con adjunto de forma masiva. Pero necesito que los accesos directos de los pdf me los traiga automáticamente. ó bien modificar el botón de la columna G, para poder pegar copiar y pegar todas las rutas correspondientes a los archivos, que he sacado en otro Excel con otra macro. Por favor podeís ayudarme. Gracias envio masivo prueba 2.xlsm
-
0
Reacciones de usuarios
- 9 respuestas
- 990 visitas
-
-
Hola, enhorabuena por la web y por compartir conocimientos. Tengo una hoja sencilla con dos columnas en la primera tengo una palabra rusa y en la segunda su significado, es para retener vocabulario. Lanzo el formulario en el que aparece aleatoriamente el primer término y cuando pulso el botón azul , veo el resultado en la segunda caja de texto debajo de la pregunta. Ahora pulso el botón verde si he acertado o rojo si he fallado. El primer problema que tengo es que da error una ficha antes de que termine con todas. El segundo es que no se como pasar el dato fallado, pregunta y respuesta a la hoja que me creo cuando fallo la primera que he llamado "arepetir". Mi inten…
-
0
Reacciones de usuarios
- 6 respuestas
- 990 visitas
-
-
Buenas A ver si me podéis solucionar esta duda, hay alguna forma de meter una hoja de excel dentro de un userform, o ya que según donde pinche en la hoja en el userform me aparecen los datos, y me desplazo sin problemas desde la hoja pero solo quiero que se vea unas determinadas columnas y la barra de desplazamiento, sin que se vean los controles del excel en su defecto como ya he dicho deshabilitar todos los menús del excel y dejar solo visible las columnas que me interesa junto a la barra de desplazamiento y que si muevo el userform a cualquier sitio de la pantalla la hoja de ecxel se mueva junto a el como si fuera una sola entidad, a ver si me he explicado bien.
-
0
Reacciones de usuarios
- 0 respuestas
- 990 visitas
-
-
Estimados(as) Junto con saludar y esperando estén todos bien, paso a exponer mi duda: como puedo copiar un rango de celdas, que conozco numericamente su fila y columna en otra hoja donde conozco el destino lo conozco tambien en forma numerica tambien Intento hacer esto ------>>>> worksheets(3).range(cells(valor1,valor2), cells(valor3,valor4)).Copy Destination:=Worksheets(2).range(valorx,valory) ?????? gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 990 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.