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
-
Amigos de Excel. Después de haber hecho 52 líneas de formulas, ahora necesito insertar una fila. Al insertar se desubican todas las celdas siguientes de las formulas. La reubicación se puede hacer manual, ejemplo lo que era "D20", luego de insertar pasaría a ser "D21". Pregunto: Hay algún procedimiento menos engorroso que reubicar manualmente...? Explico Cells(10, 4) = Cells(10, 3) * 12 Cells(11, 4) = Cells(11, 3) * 12 Cells(12, 4) = Cells(12, 3) * 12 Cells(13, 4) = Cells(13, 3) * 12 Cells(15, 4) = Cells(15, 3) * 12 Cells(16, 4) = Cells(16, 3) * 12 Cells(17, 4) = Cells(17, 3) * 12 Cells(18, 4) = Cells(18, 3) * 12 Cells(19, 4) = Cells(1…
-
0
Reacciones de usuarios
- 2 respuestas
- 875 visitas
- 1 seguidor
-
-
Estimada red, espero me puedan ayudar con esto: Tengo un formulario desde el cual puedo agregar datos a una hoja de Excel se compara la celda Nombre "Hoja14.Cells(j, 2)" con el TextCLIENTE. Si cliente NO esta registrado, lo registra y agrega los datos. Pero si el cliente ya esta registrado quiero que lo modifique con los nuevos datos asignados El código que tengo funciona para registrar un nuevo cliente. EL PROBLEMA SURGE AL MOMENTO DE MODIFICARLO (SI SE MODIFICA) PERO TAMBIEN LO AGREGA. Este es el código que tengo: Private Sub CommandButton1_Click() Dim i As Integer Dim j As Integer Dim Final As Integer Dim F…
-
0
Reacciones de usuarios
- 3 respuestas
- 875 visitas
-
-
Buenos dias, Adjunto el fichero el cual contiene una macro, lo que hace es que a partir de los datos que tengo, meta una fecha de inicio y una fecha de fin filtrando asi el campo vencimiento de contrato, y que estos datos se me copien en otra pestaña para realizar una serie de cualculos (pestaña informe). Mi problema viene que si ejecuto la macro y pongo: FECHA INICIO: 28/09/2012 FECHA FIN: 28/12/2013 La persona del ejemplo la cual tiene dos tramos, una vez me pone su fecha de vencimiento de contrato el 12/08/2013 y si la ejecuto otra vez me sale 08/12/2013, si la vuelco a ejecutar vuelve a la primera fecha y asi todo el rato. No se pq pasa esto en la otra fec…
-
0
Reacciones de usuarios
- 1 respuesta
- 875 visitas
-
-
Buenas noches; tengo una duda, estoy haciendo una macro y me falla una cosa, estoy trabajando con 2 hojas y tengo que poner cada vez que quiero que haga algo en otra hoja que no sea la principal la letra de la hoja y lo que quiero hacer, se que ahi una forma para decir que todo lo haga en esa hoja, no se si me he explicado bien, en vez de estar poniendo lo que he señalado en rojo, algo inicial para no tener que poner la letra de la hoja. muchas gracias Dim A, B As Worksheet Sub Duplicados_Precert() Set A = ThisWorkbook.Sheets("Precertificado") Set B = ThisWorkbook.Sheets("Stock") A.Activate Set r1 = Range("A1") ultimafila = r1.End(xlDown).Row …
-
0
Reacciones de usuarios
- 3 respuestas
- 875 visitas
-
-
Hola buenas tardes, solicito de su ayuda, ya que estoy programando una macro que genera referencia de depósitos bancarios concatenando varios valores guardados en las celdas de una hoja en especifico de mi libro de Excel y posterior proporcionarla al cliente, específicamente mi problema es: Al buscar un cliente en mi BD el resultado me lo arroja en un listbox que llamé "LISTA" y cuando selecciono el valor que encontré después de la búsqueda para capturarlo en las celdas que le indico a la macro, antes cabe mencionar que para seleccionar ese resultado de mi búsqueda lo hago con una acción "DBLCLICK" , y de las 5 columnas que tiene mi BD, solo me selecciona la columna y fi…
-
0
Reacciones de usuarios
- 0 respuestas
- 875 visitas
-
-
Hola amigos de la comunidad AyudaExcel, Tengo el siguiente problema: "Quiero que al abrir varios libros de Excel haya un evento que recorra todas las hojas de cada libro y las aplique un formato estándar para todas igual." Para ello he desarrollado la siguiente macro, pero me da problemas: Private Sub Workbook_Open() Application.ScreenUpdating = False Dim libro As Workbook Dim hoja As Worksheet For Each libro In Workbooks Set libro = ActiveWorkbook.Name For Each hoja In Worksheets Set hoja = ActiveWorksheet.Name With Sheets(hoja).Select With Cells ' Tamaño de las celdas... .…
-
0
Reacciones de usuarios
- 3 respuestas
- 874 visitas
-
-
Hola a todos. Hace unos días en los que una hoja con Macrors que tengo empezaban a fallarme los botones con los que se incian ciertas macros. Al mirar veo que todo el código que estába dentro de la hoja ha desaparecido y por eso no lanzaba los formularios al hacer click en los botones. lo curioso es que mirándolo bien, "no sé ni quien o qué ni como" lo que ha pasado es que esa hoja ha camabiado de nombre y la hoja original (Hoja1) aparece con el mismo formato que Thisworkbook y es una hoja que no puedo ni modificar ni nada (no existe pero tiene las macros). La nueva hoja es igual que la original pero sin macros. Me estoy volviendo loco, lo mismo es un…
-
0
Reacciones de usuarios
- 2 respuestas
- 874 visitas
-
-
Hola, no puedo mandar el programilla porque "pesa mucho" pero si alguien puede ayudarme, me pasa una cosa muy rara. Tengo un programa que funciona perfectamente, he hecho una macro para "Borrar" y me pone unas formas al color que yo quiero, me borra el contenido de celdas, al final del código tengo Range("A1").Select y no va ahí va a la celda F22, lo he probado de varias maneras y siempre igual, incluso si voy a cualquier celda de la Hoja (Excel) al dar a la macro "Borrar" me lleva a esta celda en vez de a la de A1, alguien me puede ayudar ? PD esta celda F22 es una celda activa en otras partes del programa, pero si a mi macro le digo A1 debería ser A1 …
-
0
Reacciones de usuarios
- 1 respuesta
- 874 visitas
-
-
Buenos días, Soy muy nueva en el mundo de la programación VBA, y necesitaría ayuda en una macro que estoy haciendo, los datos el usuario los introducirá a traves de un formulario, la cuestión es que quiero que no deje poner introducir fechas anteriores al día de hoy, estoy probando con el siguiente código If Cells(ultimafila + 1, 13) <= Date Then 'No se puede poner fechas anteriores a hoy MsgBox "La fecha es anterior a hoy" Exit Sub Pero me sigue añadiendo la información. ¿Podéis indicarme cual es el error?Gracias
-
0
Reacciones de usuarios
- 4 respuestas
- 874 visitas
-
-
Buenas Saludo, soy nuevo en el foro y quisiera si es posible que me ayudaran con lo siguiente Tengo un archivo en el cual hay que llenar ciertas información mes a mes y estas informaciones estan en rangos de filas por mes. Mi pregunta es posible con una macro que las filas que no correspondan a una condicion dada en una celda (mes) sean ocultas y que solo permita digitar en aquellas que correspondan ese mes o que yo previamente determine para modificar datos. Gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 873 visitas
-
-
hola amigos tengo el siguiente codigo Sub guardar() Dim posicion As Integer Uf = Hoja5.Range("A" & Rows.Count).End(xlUp).Row For i = 0 To Pagos.ListCount - 1 If Pagos.Selected(i) = True Then On Error Resume Next With Sheets("Credito") pos1 = .Range("A2:A1000000").Find(cl1, lookat:=xlWhole).Row posicion = Application.WorksheetFunction.Match(Hoja4.Cells(i, 1), .Range("A" & pos1 & ":" & "aw" & pos1), -1) .Cells(pos1, posicion).Interior.ColorIndex = 3 End With End If Pagos.Selected(i) = False Next MsgBox "Datos Registrados con Exito", vbInformation, "Registrar" End Sub que hace este codigo, primero hay un formulario el cual manda …
-
0
Reacciones de usuarios
- 5 respuestas
- 873 visitas
-
-
Buenas noches hace un tiempo cree unos formularios con google form y los archivos están en el drive, como son varios y cada uno es una hoja utilice formulas para conectar los datos que se ingresan, implemente el uso de macros con el fin de automatizar el formato y la copia y pega de las formulas, pero al ejecutarse las macros estas afectan las mismas columnas en todas las hojas, lo que ocasiona que se borren los datos, existe algún código que permita garantizar que la macro solo se ejecute en una hoja en particular o debo crear varios libros quedo atento muchas gracias
-
0
Reacciones de usuarios
- 9 respuestas
- 872 visitas
- 1 seguidor
-
-
Buenos dias, soy nuevo miembro y me da gusto formar parte de esta comunidad, espero pueden apoyarme con mi laborioso problema, lo detallo a continuación: Tengo un archivo el cual contiene una lista de datos, lista de la cual se quiere lo siguiente: 1. Tomar de la hoja "Indice" un nombre de la casilla "Iniciativa" y crear una hoja con ese nombre 2. Tomar el formato de la hoja "Base" y pegarlo igual en esa nueva hoja 3. Que tome los datos de la hoja "Indice" de las casillas "iniciativa" y "encargado" y los pegue en los campos correspondiente de la nueva hoja creada. (a fin de personalizar cada hoja nueva) 4. Establecer un vinculo que vaya de…
-
0
Reacciones de usuarios
- 1 respuesta
- 872 visitas
-
-
Un placer saludarlos, estimados foristas. Estoy realizando un proyecto de un kardex y estoy buscando la forma de insertar formulas con una macro, he buscado en el foro y no encuentro algo que se ajuste a mi necesidad. Adjunto un archivo en donde hay una hoja con el nombre de EJEMPLO ahi en las columnas "H" y "N" hay formulas que estan resaltadas en rojo, cada formulas como podran ver se ajustan a los rangos de cada articulo. Tengo mas de mil articulos y necesito aplicar las formulas a cada articulo que son los costos promedios y los saldos de la cantidad. Cada articulo estan separados por dos filas en blanco y establecen rangos propios. En la hoja2 esta la hoja de tr…
-
0
Reacciones de usuarios
- 0 respuestas
- 872 visitas
-
-
Hola buenas tardes, hace un tiempo me echasteis una mano por aqui y hasta ahora todo ha ido bien, pero e aqui que he actualizado mi Windows 7 al Windows 10 y lo primero que he echo ha sido probar mi programa que hice de la comunidad y cual es mi sorpresa que me da error en las macros justo de momento en esta linea Private Sub Worksheet_SelectionChange(ByVal Target As Range) La macro entera es asi. Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("B30:B45,B49:B56,B58")) Is Nothing Then UserForm1.Show End If End Sub Podeis ayudarme donde esta el fallo o es que Windows 10 NO admite el vb Repito que en Windows 7 …
-
0
Reacciones de usuarios
- 0 respuestas
- 872 visitas
-
-
Buenas tardes quisiera saber si existe forma de generar lo siguiente en una macro: En una hoja de excel tengo números aleatorios, lo que necesito es que cada vez que le doy F9 se registre en otra hoja de excel el numero aleatorio que apareció antes de que yo presionara F9 y así ir creando un registro de todos los números que aparecen.
-
0
Reacciones de usuarios
- 3 respuestas
- 872 visitas
-
-
Tengo ésta Macro que copié de un aporte del Maestro Ioyama,la estoy adaptado un poco a mis necesidades, pero ahora veo que necesito algo más,como podría ingresar desde un libro a otro dos filas, una fila a una tablahoja1 y otra a otra tabla hoja2, las filas del libro de partida serían siemprelas mismas, osea que serían siempre los mismos rangos que se transferirían, nocomo en la macro adjunta que se selecciona la fila a transferir. Salud_2 Sub INGRESAR_DATOS() Application.ScreenUpdating = False ruta = ActiveWorkbook.Path fila = ActiveCell.Row cod = Range("C" & fila) Range("A" & fila & ":X" & fila).Copy Workb…
-
0
Reacciones de usuarios
- 1 respuesta
- 872 visitas
-
-
Hola, Soy poco diestro con las macros, pero me gustaría saber como hacer una macro. Tengo una lista inicial con diferentes registros (columnas).Voy a llamarla general. Quiero que copie, en hojas de calculo a continuación de la general, en función del valor introducido en varias columnas. Por ejemplo: en la hoja "general" tengo las columnas, nombre, apellidos, sexo, años. Quiero por ejemplo que en la hoja 1 me copie los que sean de sexo masculino y tengan 18 años. Entiendo que esto en la misma hoja se podría hacer con fórmulas, pero lo que quiero es que me saque directamente resultados a hojas de cálculo, pulsando un icono. Gracias por orientarme!
-
0
Reacciones de usuarios
- 1 respuesta
- 872 visitas
-
-
Buenas Tardes Gente. Necesitaria ayuda con lo siguiente de ser posible. Tengo una tabla con los datos de la columna A y quisiera dividirlo en las columnas B y C, como muestra la tabla. La columna B me salio, el tema es la comumna C, ya que tiene varias variantes. Probe insertando la siguiente formula pero me tira error, alguna ayuda? =DERECHA(A1,(LARGO(A1)-((ENCONTRAR("-",A1))+1))) Me gustaria preferentemente guardar el valor en Variable de ser posible Desde ya muchas gracias. [TABLE=class: grid, width: 200] [TR] [TD][TABLE=width: 80] [TR] [TD=width: 80]IM0347212 - Regularización Componentes regimen de informacion de CABA - BCY[/TD] [/TR] [/TABLE] [/TD] [T…
-
0
Reacciones de usuarios
- 4 respuestas
- 872 visitas
-
-
Amigos, quiero pasar el color de fondo de una celda a un control textbox he intentado con este pero no sale, por favor sus comentarios For X = 2 To Productos.Range("A1").End(xlDown).Row If Me.CbPoductos.Text = Productos.Cells(X, 2) Then TxtLunes.BackColor = Productos.Cells(X, 2).Interior.Color End If Next[/CODE] a la espera de sus comentarios Celest3 [/b]
-
0
Reacciones de usuarios
- 3 respuestas
- 871 visitas
-
-
Hola a todos: Recurro a ustedes por lo siguiente: Tengo una hoja tipo base en la que por medio de un user form, ingreso información en la siguiente fila vacía. en la columna A llevo un consecutivo unicamente informativo que va de 1,2,3,4 etc segun se va llenado cada fila vacia. y asi en cada la fila vacia siguiente. Me funciona bien! Ahora necesito que el ingreso lo realice a partir de la fila 2 y la información que esta escrita previa se recorra hacia abajo. Así poder tener la ultima información arriba. con esto mi consecutivo seria 4,3,2,1. Adjunto la estructura del user form. Muchas gracias Ingreso por userform.txt
-
0
Reacciones de usuarios
- 5 respuestas
- 871 visitas
- 2 seguidores
-
-
Hola, tengo el siguiente problema; tengo un formulario creado con botones de opción los cuales se guardan en registros dentro de Excel dependiendo si están marcados como "Verdadero" y si no como "Falso", el tema es que yo no quiero que se guarde ningún resultado cuando no esta marcado solo necesito que cuando el botón se marque guarde verdadero caso contrario no guarde nada como lo esta haciendo ahora que dice "Falso", ¿existirá esa opción?. Agradecería su ayuda.
-
0
Reacciones de usuarios
- 1 respuesta
- 871 visitas
-
-
Hola a todos no se como se puede cargar los datos escritos en TextBox o ComboBox a un Listview antes de registrarlos en la hoja de excel Esto lo necesito hacer en el frmsalidas. Espero podais ayudarme Gracias https://mega.nz/file/VsAAmQgB#SZrk_UFyhBrxN7z1S1A0bZBs5Thwj_Lj35rzqlYiQHc
-
0
Reacciones de usuarios
- 0 respuestas
- 871 visitas
-
-
Estimados, buenas noches, estoy por teminar un pequeño formulario para ingresar información mas rápido, al abrir el proyecto veran que hay checkbox donde se sleccion segun la condicion si esta con check guarda en la columna J Si caso contrario guarda No. como vera selecciona un trabajador y segun el chequeo se selecciona los check, entonces desde la columna A hasta I se repite los datos solo los J cambia segun el estado del checkBox espero se me haya entendido y me puedan ayudar. saludos a todos Prueba.rar Prueba.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 871 visitas
-
-
buenas noches, solicito muy amablemente quien me puede ayudar con una conexion de un formulario en excel auna base de datos de acces 2007 ya que lo he intentado y no lo he logrado. 1.lo necesito es guardar todos los campos (textbox y algunos label) del formulario llamado (formulario) en una base de datos de access llamada Digitacion en la tabla DIGITACIONES, adjuto los archivos para mayor entendimieento (no hay necesidad de guardar todos lo campos, soloa lgunos para poder entender como se hace) muchas gracias por la ayuda Formulario de Digitacion_2.part1.rar Formulario de Digitacion_2.part2.rar Digitacion.rar
-
0
Reacciones de usuarios
- 5 respuestas
- 871 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.