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
-
Estoy acá nuevamente para plantearles un problema que tengo: Resulta que tengo un código VBA el cual se encarga de enviar en el cuerpo de un mail en Outlook, un rango de celdas específicas además de enviar un archivo adjunto. Este código me funcionaba perfecto en un libro Excel, pero al copiar y pegar dicho código en otro libro éste no envia el mail. Al momento de ejecutarlo en teoría funciona correctamente, no me lanza errores ni nada, pero simplemente no me envía el correo. Les adjunto el código: Sub Mail_Range_Outlook_Body() ' Don't forget to copy the function RangetoHTML in the module. ' Working in Office 2000-2010 Dim rng As Range Dim ruta As Workbook …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.2k 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.2k visitas
-
-
Hola amigos acudo austedes por el siguiente problema: tengo este codigo para poder acceder a MYSQL Set rs.ActiveConnection = cn rs.CursorLocation = adUseClient rs.CursorType = 3 rs.LockType = 3 dato = Sheets("Hoja1").Range("A1").Value rs.Source = "SELECT * FROM FOTOS " _ & "WHERE NOMBRE =" _ & Chr(34) & dato & Chr(34) & ";"[/CODE] mi problema es que donde dice sr.source es un string pero no puedo ponerlo como Dim rs.source as string porque me marca esa linea en rojo como puedo hacer para declararlo como un string. saludos
-
0
Reacciones de usuarios
- 9 respuestas
- 1.7k visitas
-
-
Hola de nuevo. Llevo mucho rato probando y leyendo y no veo manera de salir de esta. Tengo una consulta sql que construyo concatenando Textbox que no me acabo de funcionar bien. Quiero usar Like y la "*" y no veo forma donde ponerla. La ponga donde la ponga o me da error de sintaxis o otros errores. Tal y como tengo el código solo me funciona si el valor que pongo en el Textbox es EXACTO, pero yo quiero que con solo poner parte de la cadena que filtro sea suficiente, por eso intento usar Like. Os agradezco la ayuda, en definitiva necesito saber como construir la consulta usando "*". Este es el código: Private Sub CommandButton1_Click() 'macro que …
-
0
Reacciones de usuarios
- 4 respuestas
- 2.4k visitas
- 1 seguidor
-
-
Control Calendario en excel 2010 64 bits Amigos, nuevamente recurro a ustedes. Tengo un archivo que he reducido para poder subirlo. En el hay un calendario asociado a un label. En excel 2010 32 bits funcionaba perfecto, sin embargo en excel 2010 64 bits no anda. Aparece "No se encontró el método o el dato miembro". Intente agregar el MSCal.ocx, pero igual no anda. Alguna solución?? Desde ya quedo agradecido por sus innumerables asistencias. Saludos desde Chile. Ejemplo Calendario.rar
-
0
Reacciones de usuarios
- 6 respuestas
- 2.2k visitas
-
-
Hola a todos de nuevo. Tengo un problema con un autofiltro. Necesito filtrar 3 columnas, de "F" a "K" y el criterio se encuentra en la columna "K" que es la columna 3 del criterio. Lo que necesito es copiar los datos filtrados pero solo de las dos primeras columnas, no las 3 columnas, y llevármelas a otra hoja. Por ahora lo que consigo es llevarme las 3 columnas y no se llevarme solo las 2 columnas primeras del autofiltro. Este es el código que tengo. Sub ExportarTecnicos() Application.ScreenUpdating = False: Application.DisplayAlerts = False ' Dim wsPxA As Worksheet, wsGrupos As Worksheet Dim rngData As Range Set wsPxA = Sheets("PxA"): Set wsGrupos = S…
-
0
Reacciones de usuarios
- 5 respuestas
- 817 visitas
- 2 seguidores
-
-
Buenas, os adjunto un fichero que me descargo de una web pública de internet y una macro para importar y consolidar varios de ellos al mismo tiempo. Es un fichero que parece pdf, tiene extensión .1 pero al abrirlo en excel es como si fuese un csv, es más, si modifico la extensión se importa en excel sin necesidad de separarlo por ; Conseguí (como en el módulo de ejemplo) importarlos, tratarlos y consolidarlos, pero no soy capaz de modificar el tema de los decimales. Aparecen con punto si lo intento de una manera, y en otras ocasiones desaparecen los decimales, otras directamente se redondean las cantidades. Si modifico la extensión a csv se me estropea todo el proces…
-
0
Reacciones de usuarios
- 2 respuestas
- 450 visitas
- 1 seguidor
-
-
Hola de nuevo. Siento molestar, de verdad que estoy buscando y probando y no me sale bien. Tengo un problema para calcular dos fechas de dos celdas en Excel. En una celda me aparece el formato fecha incluyendo horas y en otra celda solo fecha. Intento restarlas y mientras no cambie de mes la fecha larga no hay problema, pero como sea otro mes lo hace mal. Esta es una foto de las celdas. Y el código que he comenzado a hacer y que luego necesitaré estos cálculos es este. Sub RellenarAusencias() ApplicationOff ' Dim rng1, rng2 As Range Dim FechaF As Date Set Ws = Sheets("AusenciasPnet") uf1 = ActiveSheet.Range("A65536").End(xlUp).Row: uf2 =…
-
0
Reacciones de usuarios
- 1 respuesta
- 723 visitas
- 1 seguidor
-
-
Saludos a todos.... Soy nuevo en el foro y espero que mi post pueda ser respondido... Les comento mi problema y espero puedan responderme.... Llevo unos días interactuando con el VBA, básicamente lo que quiero lograr es hacer un ingreso de datos a través de un formulario, y para eso tengo 3 botones (CommandButton), el infaltable insertar, uno para modificar y otro para eliminar... A base de ensayo y error he logrado que funcione, pero haber a veces al darle clic al Insertar de pronto colapsa el Excel y tengo que reiniciarlo, después de reiniciar me sale un mensaje acerca de que hizo reparaciones y los 3 botones los convierte en imágenes. De hecho no se porque es causad…
-
0
Reacciones de usuarios
- 0 respuestas
- 652 visitas
-
-
Cómo simular con código VB el pulsado de teclas de función Hola, Tengo esta necesidad. En una función de VB necesito que la fórmula que hay en una celda que se ve como texto se reemplace por un valor y se copie al resto de celdas de esa misma columna. La fórmula en cuestión viene escrita en un fichero .txt desde un ERP, por lo cual no se ejecuta automáticamente. Mirando las audas de VB para Excel he visto la función sendkeys y estuve haciendo pruebas pero no acaba de funcionar correctamente. La secuencia de lo que tengo que hacer es: 1. situar el cursor en una celda (BR6) 2. pulsar F2 (para editar la fórmula) 3. pulsar Intro para pegar el valor en la celda 4. co…
-
0
Reacciones de usuarios
- 1 respuesta
- 3.4k visitas
-
-
soy nuevo en esto de la programacion por excel y el vba, entonces estaba haciendo unas pruebas para ayudar ami amiga en su sus tareas, mi problema es que no puedo cambiar la hoja de calculo cada vez que acciono el boton para cambiar de formulario y escogr la hoja donde vaciar los datos y ocultar las demas, ademas copie y adapete un procedimiento para hacwer una consulta pero no funciono, quiero que cuando hacga la consulta de un vehiculo sus datos de bitacora de serv,. aparezcan en una grid, pero mi pc no me dio las grid, asi que intente en textbox, pero no se ve muy bien, alguien podria indicarme que me fallo o podrian orientarme en mi modelo? CONTROL.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 938 visitas
-
-
Estoy corriendo una macro que en el Rango A1:A15 deberia contar las celdas con "Roles de tripulacion", poner en la siguiente celda vacia del rango "x Roles de tripulacion" y borrar todas las filas del rango que contengan "Roles de tripulacion". La cuestion es que cuando intento con el ejemplo, me borra solamente dos de las cuatro filas que tengo con ese valor. Adjunto el archivo para mejor ilustracion. Sub test() If Application.WorksheetFunction.CountIf(Sheets(1).Range("A1:A15"), "Roles de tripulacion") > 0 Then Sheets(1).Range(Range("A1").End(xlDown).Offset(1).Address).Value = Application.WorksheetFunction.CountIf(Sheets(1).Range("A1:A15"), "Roles de trip…
-
0
Reacciones de usuarios
- 3 respuestas
- 734 visitas
- 1 seguidor
-
-
Hola colegas, buenos días. Espero se encuentren bien de salud. Antes que todo ofrecer mis disculpas porque no creo que esta sea una plataforma para este tipo de escrito, pero no encuentro otra opción y quiero que el mensaje llegue. Me es difícil hasta escribir esto, pero por razones ajenas a mi voluntad voy a estar mucho tiempo (creo que bastante) fuera de este MARAVILLOSO FORO. (Ojalá esté equivocado) Los problemas que está presentando mi país, que todo es un verdadero desastre, sumados a mis problemas personales me han obligado a tomar tan dura decisión. Todo este tiempo ha sido muy provechoso para mí, he aprendido lo que nunca imaginé, he innova…
-
0
Reacciones de usuarios
- 3 respuestas
- 498 visitas
- 3 seguidores
-
-
Hola! Tengo un problema. Os explico: He creado un programa con VBA, concretamente el juego de "Tres en raya", versión para principiantes en programación. Lo he creado mediante unos 12 módulos diferentes, y en mi ordenador funciona perfectamente pero el problema está en que en otros, no. En el ordenador de mi amigo, funciona, en el de mi hermano no, en el de mi madre tampoco... y no lo entiendo, ya que no es ningun problema de lectura del codigo, ya que en mi ordenador funciona brillantemente. A los ordenadores que no les funciona pasa lo siguiente: Abren Excel, habilitan macros, y cuando van a pulsar un botón se abre automaticamente todo el VBA con todo su codigo y …
-
0
Reacciones de usuarios
- 0 respuestas
- 681 visitas
-
-
Hola a todos. Tengo un problema que os puede parecer un poco tonto, pero no encuentro como solucionarlo. Seguro que es fácil pero no encuentro el Evento que debo llamar. Tengo en un Userform un Listbox y debajo de este hay unos Textbox. Lo que quiero hacer es que cuando seleccione un datos del Listbox sus datos vayan a parar a los Textbox. Hasta ahí no hay problema, el problema lo tengo porque el código lo he puesto en el Evento Click del Listbox y me envía los datos solo la primera vez que hago click, y cuando selecciono otro item no hace nada. Entiendo que el código lo estoy poniendo en un evento equivocado y no acierto con cuál es. ¿podéis ayudarme por f…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.9k visitas
- 1 seguidor
-
-
Hola Compañeros, En un determinado formulario tengo un Txb donde debo introducir un nombre, si este nombre existe en una casilla, me devuelve los demás datos para que pueda modificarlos. Hasta aquí todo bien, pero al introducir un nuevo nombre me sale un error que desconozco. Adjunto el código. Creo que es algo relacionado con el Else, no se que debo introducir ahí para que me deje el formulario en blanco y pueda seguir insertando datos para un nuevo registro. Muchas gracias Private Sub NomA_Exit(ByVal Cancel As MSForms.ReturnBoolean) Set c = ActiveCell Cells.Find(NomA, LookAt:=xlWhole).Activate If ActiveCell.Value = NomA Then Set c = ActiveCell nivel = c.Offset(0…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.7k visitas
-
-
Hola Foristas, buenos días. Espero se encuentren bien de salud. Hace algún tiempo realicé un Proyecto para mi esposa sobre las Pre-Nóminas. Este funciona correctamente gracias en gran medida a ustedes que me ayudaron, dándome solución a algunos temas que expuse, pero ahora me está surgiendo otro, que quizás no me di cuenta en ese momento. Dentro del FrmPreNominas yo creé un código para exportar a otra hoja las nóminas según su denominación, o sea, en el Formulario hay un Frame (Depurar) que tiene los nombres de todas las Pre-Nóminas posibles (dentro del Sistema) y al dar Clic, lo que hace es que según el Tipo de Pre-Nómina lo exporta a la Hoja con el mismo nombr…
-
0
Reacciones de usuarios
- 10 respuestas
- 947 visitas
- 2 seguidores
-
-
Hola a todos, tengo el siguiente problema que me gustaria me pudiesen ayudar tengo una hoja en la cual realizo consulta a BD SQL, hasta el momento logre conectarme a la base de datos y rescatar la informacion que necesito el problema es que cuando filtro por fechas mediante DTPicker y consulto por Ej. por el dia 04-12-2012 el resultado que obtengo son los datos del 12-04-2012. El problema es que considera los 2 primeros digitos como el mes y los segundos como el dia y no he logrado solucionar esto. le pido por favor si me pudieran ayudar. Saludos Libro3.rar
-
0
Reacciones de usuarios
- 13 respuestas
- 2.6k visitas
-
-
Hola, Estoy trabajando con dos archivos de excel, uno de ellos tiene en la primera columna una serie de fechas, y el otro también, ahora, la macro consiste en verificar la fecha que tiene el primero y compararla con la del segundo, y si en difieren, entonces copiar la del segundo. El problema en sí consiste en que en el segundo archivo las fechas las tengo de la forma "mm/dd/aaaa", y en el primero están de la forma "dd/mm/aaaa" el asunto es que no todas las celdas con fechas tienen el mismo formato, entonces, algunas las reconoce bien y otras no, anexo los extractos de archivos, más no el código que es demasiado largo, la parte que utilizo es: Workbooks(1).Sheets…
-
0
Reacciones de usuarios
- 3 respuestas
- 834 visitas
-
-
Buenas, tengo una macro para seleccionar varios ficheros txt en una carpeta y consolidarlos al importar. Tengo problemas con las fechas de los ficheros hasta el día 12 de cada mes. Se dan la vuelta el día y el mes. Dice que el formato es dd/mm/aaaa así que no he podido solucionarlo, tampoco con CDate. Alguna idea de cómo solucionarlo? Os adjunto dos ficheros: Uno del 31/12 que se importa correctamente y otro del 02/03 que se importa al revés. Gracias de antemano. ejemplo_txt.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 704 visitas
- 2 seguidores
-
-
Buenas tardes, Os comento, he creado un formulario para introducir unos datos en una hoja "INFORME" del libro excel en el que trabajo. Esas incidencias se escribirán a partir de la línea 36 que es donde está ese apartado, bien esto con el siguiente código bien. Worksheets("INFORME").Range("A36").Value = Me.TextBox1.Value Worksheets("INFORME").Range("B36").Value = Me.TextBox2.Value Worksheets("INFORME").Range("C36").Value = Me.TextBox3.Value [/CODE] El problema es que necesito que siga escribiendo en la siguiente fila vacía si tengo más de una incidencia y no consigo hacerlo. Gracias de antemano
-
0
Reacciones de usuarios
- 2 respuestas
- 606 visitas
-
-
Buenos días, estoy trabajando en una macro que extrae datos de un fichero .txt y lo muestra en una tabla de excel. Al ser un archivo que se está ejecutando todo el tiempo he pensado que cada X tiempo puedo copiar el archivo a otra ruta y trabajar con el archivo copiado en forma de bucle, de esta forma cada X tiempo la macro realiza un copia/pega y así los datos se irán actualizando. Pues bien, tengo un problema con esto, con el comando FileCopy al estar ejecutándose el archivo, evidentemente no me deja copiarlo a la ruta que yo le indico... A alguien se le ocurre como puedo resolver esto? Gracias.
-
0
Reacciones de usuarios
- 1 respuesta
- 878 visitas
-
-
Hola a todos de nuevo. Tengo un problema al cargar los datos de una consulta SQL de una Access a mi archivo Excel. La consulta funciona bien, de hecho ya tengo el formulario casi listo. El problema viene porque quiero modificar el formato de varias columnas. Por ejemplo la columna 4 a pesar de estar el Access en moneda cuando lo cargo en el listbox lo hace en números con decimales. Estoy leyendo pero no encuentro exactamente esto, al menos al cargar todos los datos en el listbox de manera multiple. Agradezco vuestra ayuda como de costumbre. Pongo el código, creo que no es necesario todo el archivo para ver que código me falta poner. Sub Llenar_Checklist…
-
0
Reacciones de usuarios
- 5 respuestas
- 3.2k visitas
- 1 seguidor
-
-
Buenas tardes, mi problema es el siguiente necesito crear un bloque condicional donde se mezclen varias condiciones, por ejemplo si se cumple, condicion1 o condicion2 y ademas se cumple la condicion3 que corra el programa, pero no agarra el ciclo. aqui dejo el codigo Private Sub CommandButton1_Click() x = 1 y = 2 auxiliar = TextBox1.Value If x = 1 Or x = 2 And auxiliar <> Empty Then MsgBox ("Excelente") End If End Sub el problema esta en que aun si el textbox esta vacio entra en la condicion. Les agradezco de antemano su ayuda
-
0
Reacciones de usuarios
- 4 respuestas
- 917 visitas
-
-
Hola amigos, como estan De nuevo por aquí con un problema que me tiene la cabeza loca, estoy haciendo un programa para gestión de prestamos, me funciona de cine, el problema esta en que cuando calculo los prestamos por el sistema francés o americano, la primera fecha me la pone bien, pero las siguientes me las pone en formato numero, espero que me puedan colaborar en este trabajo, Un saludo, y muchas gracias por anticipado https://mega.nz/file/M5o2kQoY#pEhxin7aTm1xyZ3fxNjzgc2s6i67UvFzcfZM1sxch18
-
0
Reacciones de usuarios
- 10 respuestas
- 1.2k visitas
- 1 seguidor
-
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.