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?
8686 temas en este foro
-
Buenas, tengo un Listbox, el cual cuando inicia el programa me lo trae con informacion que carga de la hoja 1, y a la par asociado un Combobox que se le va agregando mas info a este Listbox. El problema pasa cuando Inicia, y me carga la info previa que hay en la hoja 1 en el listbox, ya que luego, al agregarle mas info por el combox me deja un espacio en blanco. a continuacion el codigo que tengo Private Sub UserForm_Initialize() Application.ScreenUpdating = False Worksheets(1).Select Y = 0 vuelve: a = Cells(Y + 1, 12) If a = "" Then GoTo seguir: Y = Y + 1 GoTo vuelve: seguir: Range("L1").Select For ii = 1 To Y ActiveCell.Offset(1, 0).Select ListBox1.Add…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Hola a todos! Mi pregunta es si se puede enviar un nombre de usuario y contraseña a cualquier sitio web desde excel o solamente a ciertos sitios web. He estado buscando macros que hagan esta función y he encontrado unas pocas, el problema es que sólo una de ellas funciona en mi navegador y no lo hace para todos los sitios web. También he encontrado un link en el sitio web "eHow" donde ofrecen unas instrucciones para poder programarlo personalmente (Cómo enviar un nombre de usuario y contraseña a un sitio web con el Código VBA de Excel | eHow en Español) Yo lo he intentado pero no lo consigo. ¿Alguien podría ayudarme? He intentado programarlo para poder ingresar en el fo…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Buenos días tengais Vereis, con esto de no poder tocar el documento mientras está activado el userform, me preguntaba si sabías de algún modo de poder recorrer un documento como la celda activa a través del userform. Aquí os dejo un ejemplo de como lo había pensado (Las ideas son bienvenidas) Había pensado poner un scrollbar dentro del userform y al clickar que la celda activa fuera bajando hasta el final del documento. Además de agregar dos botones para ir tanto al principio (Pone en el botón A1, asumiendo que el texco comienza en ese punto) y otro que apunte a la última fila ocupada. grácias por vuestra ayuda, saludos. Scroll.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 1.8k visitas
-
-
hola a todos, me gustaría saber si hay alguna forma de pasar varios txt con datos, a 1 solo csv ó xls, pero que cada txt esté en una hoja diferente pero todo en el mismo libro........ Espero haberme explicado Gracias y un saludo
-
0
Reacciones de usuarios
- 3 respuestas
- 1.8k visitas
-
-
Buenas tardes necesito de su apoyo con la siguiente situacion. Necesito una macro que me reconosca el mes actual para asi poder filtrar la columna "a" que esta en formato "20131001 añomesdia" a meses ateriores y elimiar los datos que esten en la columna "b", despues poderla filtrar a meses futuros y elimiar los datos que esten en la columna "c", tengo que hacer un reporte todos los dias y no quiero tener que establecer el mes manualmente en la macro. Les adjunto un ejemplo. Se los agradesco mucho de antemano. Saludos. EJEMPLO (2).zip
-
0
Reacciones de usuarios
- 9 respuestas
- 1.8k visitas
-
-
Hola distinguidos expertos. Necesito su apoyo para completar con macros un programita para control de tarjetas de cobro. Se trata de “Copiar, buscar y pegar”. Estuve buscando en este foro algo parecido y me encontré con uno pero no he podido adaptarlo, me manda un error de compilación “La clave ME no es válido” y estoy tratando de aprender a armarlos aunque confieso ya he podido con otros códigos un poco sencillos. Es aquí que necesito su apoyo. A continuación trataré de resumir el código que requiero. 1- El contenido de las celdas “E3”, que es para consulta, es un folio de 4 dígitos y el de “D3” que corresponde al Status de ese folio, es una de 4 palabras (A…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.8k visitas
-
-
Hola buenos días: Estoy intentando crear una macro que me emule la función buscarv. En el ejemplo existen 2 celdas (año y SMI), mi idea es que si metes un año mayor de 2002, la celda de SMI me devuelva el valor encontrado en una tabla adjunta. Actualmente esta ultima celda lo calcula con la función BUSCARV, pero querria hacerlo con una macro, ya que estaría dentro de un private sub, en el caso de que cambie la celda del año, al introducir el año, me busque el dato en la tabla. Espero haberme explicado bien. Muchas gracias BUSCAR EN CELDA.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Hola a todos, tengo una macro que inserta imágenes la cual me funciona excelente, lo que hace es que en la columna B tengo el nombre de un modelo y si existe pone la imagen en la columna A que la jala de una carpeta y cuando no exista la imagen se salta a la que sigue. La duda que tengo es cómo decirle a la macro que cuando no exista la imagen no se salte a la que sigue sino que me ponga una imagen titulada "no hay imagen" que está dentro de la misma carpeta. Esta macro funciona con un On Error Resume Next. Cuál sería el código fuente para que en vez que se salte a la que sigue me ponga esa imagen llamada "no hay imagen"? Agradezco mucho su apoyo.
-
0
Reacciones de usuarios
- 6 respuestas
- 1.8k visitas
-
-
Estimados recurro nuevamente con otra consulta, Estoy trabajando con access y ahora quiero incorporar clave a la BD, no logro crear una cadena de conexión valida, copio código donde abro la base y carga un combobox, Ingresa siempre a If cn.State <> 1 , no reconoce la clave prpporcionada Saludos. Private Sub CargarComboFormRubrado() Dim cn As Object Dim datos As Object Dim consultaSQL As String Dim conexion As String Dim rutaBaseDatos As String Dim contraseña As String ' Obtengo la ruta donde se encuentra el archivo de Excel actual rutaBaseDatos = ThisWorkbook.Path & "\Rbo.accdb…
-
0
Reacciones de usuarios
- 6 respuestas
- 1.8k visitas
- 1 seguidor
-
-
Hola Buen día, necesito su ayuda En esta ocasion como dice el titulo quiero que de un valor en Textbox (previamente seleccionado de un listbox) se completen otros textbox en el mismo formulario, Necesito que se tomen los datos de una hoja determinada. Para despues pasarlo directamente a la hoja activa, bueno esto si se hacerlo, solo necesito que se completen los textbox Gracias completar textbox.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Saludos amigos, acudo a solicitar su ayuda en lo siguiente: necesito una macro que tome un rango de celdas de una hoja y lo copie a otra siempre y cuando los valores de una columna sean mayores que 0 consegui un ejemplo en este foro que se adapta a eso https://www.ayudaexcel.com/foro/macros-programacion-vba-10/copiar-datos-mayor-cero-otra-hoja-19620/ sinembargo cuando corro la macro se detiene en esta linea: .AutoFilter 5, ">0" segun el post original todo funciona, pero haciendo yo exactamente lo mismo no logro que funcione utilizo excel 2010 gracias de antemano
-
0
Reacciones de usuarios
- 2 respuestas
- 1.8k visitas
-
-
Copiar rangos discontinuos solo si cumple 2 condiciones [ATTACH]40820.vB[/ATTACH][ATTACH]40821.vB[/ATTACH][ATTACH]40822.vB[/ATTACH]Buenas tardes mis estimados: Edito mi mensaje porque creo que hice una historia, además de que solo me gustaría me orientaran, Me podrían orientar si se puede copiar rangos discontinuos de la hoja1 (acumulado) a hoja2(reportes) y que cumplan dos condiciones: 1.- con un InputBox copiar solo lo que sean Elektra y 2.- si se puede otro InputBox y con ello elegir el año y solo copiar los registros de ese año, la fecha que tomo para hacer el filtro es del titulo “REG_fechahora”. Mis títulos no son los mismos pero los relaciono en un archi…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
De antemano muchas gracias por la ayuda que me puedan prestar. Tengo una base de datos en una hoja en la que necesito repetir una fila cuando en ella aparezca una fecha determinada en una de las celdas que la componen (a la fila). El problema es que la fecha aparece en varias filas de la base de datos y lo que ocupo es que repita la fila cada vez y no que me copie solo la primera fila siempre. Ya logré hacer una macro para que cuando me aparezca por ejemplo el 10-10-2013 me inserte una fila en blanco pero no logro que me repita la fila cuando encuentre ese valor y la copie en esa linea en blanco (ya que como puse en el ejemplo los montos varian y las cuentas tambien), p…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.8k visitas
-
-
Hola Amigos: Quisiera saber su existe algun macro que auto ejecute otro macro contenido en un formulario cada 2 segundos y que se empieze a ajecutar al abrir el formulario, lo que pasa es que en este formulario tengo un textbox que necesito que se actualice cada 2 segundos para tener datos actualizados. saludos
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Saludos amigos Estoy obligado a desarrollar algo conVB de E-2007, y comencé a chocar con algunas cosas que me obliga a molestarlos para intentar resolverlos. La máquina que uso para el desarrollo, tiene WXP y sólo E-2007, ni rastros del 2003. Caso 1 Estaba probando y salió un enorme cartel que comenzaba diciendo, “Microsoft Office Excel detectó un problema y debe cerrarse…”,… se cerró y se activó la restauración del libro. El mismo cartel salió en otras ocasiones donde yo no estaba haciendo pruebas, tan sólo estaba mirando la pantalla pensando en como resolver algo. También apareció en la PC donde correrá lo que estoy haciendo,… apareció solito, no se estaba usando…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.8k visitas
-
-
Buenos días a todos. He creado un Excel y un formulario de visual basic para guardar datos diarios. Os explico, En la primera columna he puesto los datos que necesito (Temperatura, ph, cloro...) y en el resto de columnas las fechas (01/01/2020, 02/01/2020...) He creado el formulario de visual basic y lo tengo hasta que me lo guarda en la segunda columna (que sería, por ejemplo el 01/01/2020) Lo que necesito ahora y no consigo de ninguna forma, es que cuando vuelva a registrar otros datos me lo guarde en la siguiente fecha o en la fecha que yo quiera. Es decir, si añado un combobox en el formulario con todas las fechas, si selecciono 02/03/2020, por ej…
-
0
Reacciones de usuarios
- 9 respuestas
- 1.8k visitas
-
-
Hola, soy nuevo en la comunidad y tengo el siguiente problema: Genere algunos formularios con MsgBox en Office365 en Windows OS 10, estos mensajes me aparecen delante de formulario y se ejecutan sin problemas, pero al momento de ejecutar el mismo documento en OS MAC todos los MsgBox aparecen detrás del formulario y debo correr el formulario hacia un lado para seleccionar la acción y seguir. Aplique el vbMsgBoxSetForeground dentro de la sintaxis, pero aun así persiste el incidente y esto solo pasa en MAC. Ejemplo de una configuración. Private Sub SalirA_Click() Dim Pregunta As String Pregunta = MsgBox("¿Desea salir?", vbYesNo + vbQuestion + vbMsgBoxSe…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.8k visitas
-
-
Muy buenas, a ver si alguien puede ayudarme en la captura de datos en un userform, quisiera controlar la longitud de un campo, pero no se donde poner la instruccion, que he visto en uno de los hilos. Lo que tengo es esto: Private Sub CommandButton1_Click() Dim fila As Long 'Obtener la fila disponible fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1 'Insertar datos capturados Cells(fila, 1).Value = UserForm1.ComboBox1.Value Cells(fila, 2).Value = UserForm1.ComboBox3.Value Cells(fila, 3).Value = UserForm1.TextBox3.Value Cells(fila, 4).Value = UserForm1.TextBox4.Value Cells(fila, 5).Value = UserForm1.T…
-
0
Reacciones de usuarios
- 9 respuestas
- 1.8k visitas
-
-
Hola Estimado, Saben si es posible leer una imagen desde vba excel y colocar lo que dice la imagen en una celda de excel? Encontré este ejemplo en internet, pero no me sirve, ya que alcambiar la imagen por otra, sigue poniendo el dato de la imagen anterior, https://drive.google.com/file/d/1Oah4v6U1pX0jvhGDQExKqkGhoSSRkWxS/view
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Buen día Por favor su ayuda.. En archivo adjunto encontraran unos datos que debo transformar según las siguientes condiciones: -En cada una de las celdas de la columna A hay una serie de datos de 4 dígitos separados por punto y coma(;). La idea es separar cada uno de esos datos y pegarle la misma información que hay en el resto de la fila, como se hizo de ejemplo en la pestaña "Ejemplo", donde se cogieron los 17 datos que hay agrupados en la celda A2 de pestaña "datos a trabajar", y se utilizo texto en columnas para separarlos y luego se transpusieron en la columna A y simplemente se relleno con los mismos datos de la fila 2. Y hacer esto mismo con todas…
-
0
Reacciones de usuarios
- 6 respuestas
- 1.8k visitas
-
-
Hola amigos/as. Vengo a titulo de solicitar información o alguna solucion mejor que la mia para lo sigueinte: Linea a linea via AyudaExcel fui construyendo este codigo; Sub EsconderMenu() On Error Resume Next Application.ScreenUpdating = False ExecuteExcel4Macro ("show.toolbar(""ribbon"",0)") ActiveWindow.DisplayWorkbookTabs = False Application.DisplayFormulaBar = False ' Barra de fórmulas ActiveWindow.DisplayHeadings = False ' Nombre de Filas y Columnas For Each barras In Application.CommandBars: barras.Enabled = False: Next Application.ScreenUpdating = True End Sub[/CODE] No hace falta describirlo pues se que los expertos saben de que se trata. Para lo in…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Hola amigos que tal, aquí con una pequeña y rápida duda. Tengo un formulario con el cual busco insertar dos fechas (inicio y fin). Sin embargo hay dos problemas con los que me he encontrado y no sé cómo solucionarlos. Problema 1) Cuando pongo la fecha (ya sea inicio o final) en el formulario al momento de capturarse en la hoja1 el formato es "mm/dd/aa" y me gustaría que fuera "dd/mm/aa" pero no logro hacerlo. Problema 2) Me gustaría crear una condición para que en caso de que el usuario no escriba un formato de fecha válio, se arroje un mensaje de error que diga "Por favor escribir un formato de fecha válio", cosa que tampoco he logrado hacer a causa del problema #1 …
-
0
Reacciones de usuarios
- 2 respuestas
- 1.8k visitas
-
-
Saludos tengo una tabla dinamica sencilla pero deseo poder modificar el "filtro de informe" desde una macro con un criterio, los años, por ejemplo que solo muestre los datos entre 2009 y 2013 pero esto desde una macro para luego insertarle esa pregunta con un inputbox y hacerlo interactivo. algo asi Sub filtro_interactivo() año2 = InputBox("Ingrese el año hasta donde quiere ver datos: ", "AÑO FINAL") ' el campo3 es la variable que va en el filtro y son años desde 2009 hasta 2019 If ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("campo3").items < año2 Then ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("campo3").Items.visible=true End If End Su…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Hola buenas tardes, necesito me ayuden a completar este desarrollo por favor. Tengo una Macro que me genera el codigo QR y la pone en la celda correcta sin problema. El detalle esta en que si no estoy conectado a internet y abro el archivo de excel la imagen no se visualiza solo dice "No se puede mostrar la imagen vinculada". Lo que necesito es que al bajar la imagen se salve en C:\ y despues jalarla a la hoja de Excel como imagen para que siempre que abra el archivo de Excel se pueda visualizar. Gracias y espero se pueda hacer. 'recorre la columna B hacia abajo hasta el final donde encuetra datos. Sub Test2e() 'Seleccionar celda B2, *primera línea de datos*…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.8k visitas
-
-
Tengo un código VBA para una macros que tiene que colocar los números en forma consecutiva desde la fila 3239 hasta la 3850, pero solo en las columnas A, B, C y D. Ejemplo: el único rango que tiene números es el A3238:D3238, y son 34, 36, 38, 40. La macro hace que el rango A3239:D3239 aparezcan los números 35, 37, 39, 41, así hasta terminar en la fila 3850 o rango A3850:D3850. Tiene que ejecutarse en una carpeta especifica que tiene más de 70 mil archivos xlsx, de 2000 kb cada uno, y tienen una sola hoja. Lo hace, pero siempre se detiene cuando lo ha hecho en 9250 archivos, mostrando este mensaje: error '-2147023170(800706be) en tiempo de ejecución: error de automatizaci…
-
0
Reacciones de usuarios
- 11 respuestas
- 1.8k visitas
- 3 seguidores
-
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.