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?
8680 temas en este foro
-
Buenos dias, Tengo un problema con una macro que estoy haciendo. En ella lo que quiero es tratar datos de una lista de ciudades y que los copie y los pegue en otra hoja. Hasta aqui todo bien. El problema viene cuando quiero que se muestre un mensaje temporal (MsgBox). El objetivo de este mensaje es pour un lado indicar al usuario la ciudad/municipio que se esta tratando, y también sirve para que el ordenador haga una pausa y actualice los datos de una hoja. Aqui os subo dos ejemplos: Ciudades : En este caso, la macro es solo para mostrar los mensajes y normalmente desaparecen cada 5 segundos (como indicado en la macro). MacroIntento : Se trata de hacer lo mism…
-
0
Reacciones de usuarios
- 4 respuestas
- 2.3k visitas
-
-
Hola a todos, soy nuevo en esto de las macros y no se como atender esta situación. Tengo una macro que básicamente copia la información que digita un usuario en una de sus hojas, abre un archivo que se encuentra en la red de la empresa, pega la información en este archivo, guarda los cambios y cierra el archivo. La macro funciona perfecto, el problema que tengo, es que desde hace un tiempo aumento el numero de usuarios que utiliza la macro (son de distintas áreas), por lo que en ocasiones, varios usuarios ejecutan la macro al mismo tiempo y tratan de abrir, escribir y grabar en el archivo que esta creado en la red, y la macro se cae. Se que esto se debe a que el archiv…
-
0
Reacciones de usuarios
- 2 respuestas
- 700 visitas
-
-
Duda para realizar una lista indirecta en formulario Que tal amigos espero estén bien. Aquí molestando con una pequeña duda, busco su asesoría para conocer si es posible que dentro de un formulario exista una lista de datos indirecta. Estoy estructurando 2 combobox, los valores del segundo dependen del valor que se haya seleccionado en el primero. No soy un experto en el tema y he buscado en diferentes lugares pero no he encontrado la forma de hacerlo. Espero que alguien pudiese aclarar mi duda. Gracias a todos y excelente día. Adjunto la hoja de cálculo a continuación: dropcanvas - instant drag and drop sharing - canvas view
-
0
Reacciones de usuarios
- 17 respuestas
- 1k visitas
-
-
Buen dia Estimados Señores He estado ausente por un tiempo de este maravilloso foro devido a que en la actualidad,en mi pais Venezuela estamos en un tiempo de tensiones pero siempre con la fe en nuestros SEÑOR que todo saldrá bien. De igual manera he estado fuera de mi aprendizaje de vba con conexiones ADO en Access y hasta la fecha ya cuento con grandes avances y de algunos códigos que pronto los pasaré para que lo usen, evaluen y si es posible, me den sus sugerencias para mejorarlos. No obstante, si tengo una respecto al codigo que uso para la eliminacion de datos en una tabla access y es porque no se coloca el Rs.close? lo he usado y cuando lo empleé, este me arro…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
Buenas tardes Estimados señores Tal como se muestra en el titulo de mi nuevo tema, busco de hacerme de un codigo con el cual pueda evitar ingresar datos duplicados en un listview. Sinceramente, nunca habia trabajado con el listview mas que listbox. No obstante, veo me veo en la necesidad de aprovecharlo al maximo tal como lo he hecho con el listbox. Claro está que nada esto podria ser sin la ayuda de los expertos de esta maravillosa comunidad a la cual le debo mucho. el codigo que empleo para evitar un dato repetido al momento de ingresarlo al listbox es el siguiente: Dim Rep as Integer For Rep = 0 To ListBox1.ListCount - 1 If UCase(Trim(CmdCodigo)) = ListBox1.Colum…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.8k visitas
-
-
Veamos tengo la siguiente duda se puede capturar un hwnd de cualquier objeto que este en el userform?, por el momento logro esta acción sobre el userform con el uso de api pero no lo logro para por ejemplo un combobox Para la captura del hwnd uso lo siguiente Option Explicit ' declaración api '''''''''''''''''''''''''''''''''''''''''' Private Declare Function FindWindowEx Lib "user32" _ Alias "FindWindowExA" _ (ByVal hWnd1 As Long, _ ByVal hWnd2 As Long, _ ByVal lpsz1 As String, _ ByVal lpsz2 As String) As Long ' función para la captura '''''''''''…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.8k visitas
-
-
Hola, Tengo una duda a la hora de evaluar una expresión booleana, siempre para saber si es verdadero o falso, directamente pongo (if Variable) a secas, sin =, pero sin querer le puse = True y no entraba en la condición, tras quitarle el true ya entraba. Sé que el valor verdadero de un boolean es -1, pero entonces, ¿por que cuando pones (if NumeroInteger) sin =, cuando NumeroInteger<>-1 & <>0, lo toma como -1? ¿Sabéis qué tipo de conversión ha realizado por sí sola la función IF? y en caso de "Si", ¿Podríais indicarme cual es esta función de conversión booleana? Sub PruebasBoolean() Dim VarInteger As Integer VarInteger = 100 If VarIntege…
-
0
Reacciones de usuarios
- 5 respuestas
- 4k visitas
-
-
Buenas foreros, tengo una consulta, Solo quiero que me respondan a esta pregunta, la explicación está en la hoja, ¿es más efectivo/eficiente esta forma o por elcontrario es preferible añadir los formatos y fórmulas directamente desde lamacro? Un saludo. DudaEficiencia.xls
-
0
Reacciones de usuarios
- 4 respuestas
- 746 visitas
-
-
Hola! Esta no es una duda completamente relacionada con macros, pero tampoco considere que se debiera publicarla el apartado de Excel general. Veran hace años fui a una entrevista de trabajo y uno de los requisitos era ser bueno en graficos... yo pensaba que solo bastaba con poder elbaorar graficos sencillos y listos, pero despues de aplicar el examen la entrevistadora me mostro que tipo de graficos se necesitaban elaborar es aqui donde viene mi duda... Ella.. me mostro un grafico, si no mal recuerdo era un grafico de barras donde se representaban las metricas anuales y cuando ella daba clic en cierto año, aparecia un nuevo grafico con los doce meses de ese año u cuand…
-
0
Reacciones de usuarios
- 3 respuestas
- 1k visitas
-
-
Hola compañeros, Tengo un módulo de login que me mantiene ocultas las hojas del libro, siempre y cuando el usuario no se haya identificado previamente. El caso es que cuando abro el libro en otro equipo (evento Workbook_Open > Abrir FormularioDeAcceso), me aparece el típico mensaje de "Habilitar las macros". El problema es que YO NO QUIERO QUE EL USUARIO PUEDA VISUALIZAR EL CONTENIDO DE ESAS HOJAS SI NO ESTÁ LOGUEADO. Y claro... Simplemente, con cerrar el mensaje de habilitar las macros y un click derecho "Mostrar hojas" es suficiente para visualizar el contenido de las hojas, sin necesidad de tener que loguearse. Por eso mi pregunta es: ¿Sabéi…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.2k visitas
- 1 seguidor
-
-
Creo que es bastante simple, pero estoy por aprender y me interesa comprenderlo todo Private Sub Worksheet_Change(ByVal Target As Range) [B] If Target.Count > 1 Then Exit Sub[/B] If Target.Row < 6 Then Exit Sub If Target.Column = 19 Or Target.Column = 26 Then If Target <> "si" Then Exit Sub Mensaje = "Seguro desea bloquear la fila,.... Esta accion no le permitira editarla de nuevo?" ' Define el mensaje. Estilo = vbYesNo + vbCritical + vbDefaultButton2 Título = "Cuidado!!!" Respuesta = MsgBox(Mensaje, Estilo, Título) If Respuesta = vbYes Then ActiveSheet.Unprotect "123asd" …
-
0
Reacciones de usuarios
- 2 respuestas
- 653 visitas
-
-
Existe algún método para identificar la pestaña activa de la barra Ribbon ?
-
0
Reacciones de usuarios
- 3 respuestas
- 561 visitas
- 2 seguidores
-
-
Hola foristas, espero que estén bien. Hoy acudo a ustedes para ver si pueden ayudarme en un proyecto que necesito para mi trabajo diario. Pretendo en este proyecto VBA llevar la facturación, cuentas por cobrar y la factura en sí propiamente. Me explico: un Libro con tres o cuatro Hojas, donde una Hoja sea la Factura en su modelo oficial, otra Hoja donde se irán almacenando (BD) los datos referentes a esas facturas y otra Hoja donde pueda ir representando las facturas por edades (30, 60, 90 +90 días). Esta hoja la tengo casi terminada con fórmulas o funciones para poder saber el envejecimiento de las mismas (Facturas). ¿Dónde está mi duda? Mediante un Formulario en V…
-
0
Reacciones de usuarios
- 14 respuestas
- 1.4k visitas
- 2 seguidores
-
-
Buenas tengo creado un mapa coroplético y me gustaría refactorizar el código mediante el uso de clases. La idea es que al abrir el libro se ejecute un constructor y almacene todos los objetos provincia en una colección. Pongo una captura de lo que he hecho hasta ahora: https://i.postimg.cc/90MJvP2W/imagen-2021-03-20-200920.png Ya he creado la estructura de cada una de las clases (cProvincia y cProvincias) pero mi duda es: 1. ¿Sería posible declarar a modo global una colección que dure el tiempo de vida del libro? ¿Es posible declarar una colección de tipo static como variable global? Lo he intentado y marca error. Más que nada lo digo, porque si cambio…
-
0
Reacciones de usuarios
- 6 respuestas
- 1.4k visitas
-
-
Buen día Si en las cinco primeras filas de la columna A tengo los siguientes valores (en A1, A2, A3, A4 y A5 respectivamente) A 1 Negro 2 Amarillo 3 Azul 4 Rojo 5 Verde Y coloco en vba el siguiente código: Sub Prueba 'Estando en A5 subirá fila por fila y se detendrá cuando encuentre la palabra Noche Range("A5").Select While ActiveCell <> "Noche" ActiveCell.Offset(-1, 0).Select Wend End Sub ¿Quisiera saber por qué genera error? La respuesta más simple sería porque nunca encontró la palabra Noche al ir subiendo desde A5 hasta A1, celda por celda, pero ¿por qué genera error exactamente? ¿El while genera error porque nunca se detuvo? ¿Genera error …
-
0
Reacciones de usuarios
- 4 respuestas
- 1.6k visitas
-
-
Bueno hace unos días postie un tema y creí que estaba resuelto, pero resulta que al correr varias pruebas en los días subsecuentes no me funciona al 100, alguien podría echarle un vistazo y darme una ayuda. En el archivo explico mas como debe de funcionar, la variable "a" no me esta guardando el valor... No encuentro cual pueda ser el error. Gracias, saludos. Ejemplo_formulas.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 685 visitas
-
-
Buenas? Tengo una duda, no se si si hay alguna forma de hacerlo? Pongo en situación, un formulario con textbox grande con la propiedad multilinea nada mas inicializarse se carga con un enorme texto desde una única celda de mi hoja de excel apareciendo la barra de desplazamiento en el textbox, y para desplazarse debes seleccionar esa barra y mover el rato arriba o abajo para ver todo el contenido. ¿Hay alguna forma de qeu pille el desplazamiento con la rueda del ratón ? con los listbox y los combobox no tengo problemas para que al rueda del raton se desplace pero con el recuadro del textbox no consigo que la barra se mueva?
-
0
Reacciones de usuarios
- 3 respuestas
- 1.9k visitas
- 3 seguidores
-
-
Buenas, Tengo un fichero con una hoja "INICIO", que tengo que transformar en lo que figura en hoja "FIN". No se me ocurre cómo hacerlo con macro. En el ejemplo os he puesto 3 fechas. Vienen en horizontal: fecha y luego las horas hasta 24 con su concepto. Tengo que trasponerlo y dejarlo como en hoja FIN. La parte de copiar y trasponer bien, pero no se me ocurre cómo añadir la fecha esas 24 veces en la primera columna hacia abajo por tantas fechas como existan en hoja INICIO. ¿Alguna idea? Gracias de antemano. EJ_FECHAS.zip
-
0
Reacciones de usuarios
- 2 respuestas
- 312 visitas
-
-
Buenos días Foro, Necesito vuestra ayuda y conocimiento para un error con VBA. Hace un mes que lleva dándome problema una línea de código (no había pasado en más de un año) y tras mirar en mil páginas no encuentro solución, por si pudierais echarme una mano. Os adjunto la línea de código: El error se encuentra en el "end if" del final. No sabéis lo importante que me es solucionarlo y no encuentro la solución... Mil gracias Sub ImportarModelos() Dim strSource As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim consulta As String Dim archivoAbrir As Excel.Workbook Dim RUTAExcel As String Dim strRespu…
-
0
Reacciones de usuarios
- 9 respuestas
- 813 visitas
- 1 seguidor
-
-
Hola, Hay alguna macro posible que haga que sólo se pueda seleccionar una celda a la vez? De manera que el usuario no pueda seleccionar más de una celda a la vez Gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 811 visitas
- 1 seguidor
-
-
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Dim rumbo As String If Application.Intersect(Target, Range("E4")) Is Nothing Then Exit Sub Else Set KeyCells = Range("E4") Azi = KeyCells If (Azi >= 0 And Azi <= 20) Then rumbo = "nn" ElseIf (Azi >= 21 And Azi <= 69) Then rumbo = "ne" ElseIf (Azi >= 70 And Azi <= 110) Then rumbo = "ee" ElseIf (Azi >= 111 And Azi <= 159) Then rumbo = "se" ElseIf (Azi >= 160 And Azi <= 200) Then rumbo = "ss" ElseI…
-
0
Reacciones de usuarios
- 27 respuestas
- 3.9k visitas
-
-
Estimados: Como están, necesito saber si alguien de este foro sabe utilizar macros para extraer datos del programa MS project o viceversa, para ser más específico, necesito generar una macro para extraer del MS Project el "PV o CPTP" acumulado por corte de fecha (Ej. cada quincena o semanalmente, meses, etc.) y así con los datos extraidos construir una Curva S, se que hay una forma, he estado buscando por la web y no he encontrado nada, si alguien conoce acerca del tema, pasenme el dato. Saludos.
-
0
Reacciones de usuarios
- 0 respuestas
- 1.1k visitas
-
-
Estimados Agradecere me puedan ayudar, necesito crear una macro que me realize un folio automaticamente, y que al momento de guardar quede con un nuevo nombre. Pero, que al reabrir un archivo maestro, no pierda el folio consecutivo. He leido varios foros pero no he podido sacar esta duda. desde ya gracias. RQ.rar
-
0
Reacciones de usuarios
- 1 respuesta
- 515 visitas
-
-
Muy buenas Tengo una macro en excel que añade cuadros de texto (4) en la presentación que está abierta en Powerpoint. El problema es que al pegarlas, automáticamente me cambia el tamaño del cuadro de texto. Ahí va el código ConsumerAcceptanceText = Range("a14").Value ' Valoración clientes y % Model Price ConsumerAcceptance = Format(Range("b14").Value, "#0.0") ModelPriceText = Range("a18").Value ModelPrice = Format(Range("b18").Value, "0%") Vacio = Range("b19").Value PPSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 250, 100, 170, 170).TextFrame.TextRange = ConsumerAc…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.9k visitas
-
-
Hola a todos Tengo un archivo A que quiero copiar en un archivo B. En el archivo A, la fila "X" esta en formato de texto, pero necesito que al copiarlo en el archivo B esté en formato número. Ya he intentado con Selection.NumberFormat = "0" pero no me funciona. La única forma que puedo hacerlo es seleccionando los números, click en la esquina superior izquierda y click en Convertir en Número como muestro en la imagen: ¿Hay alguna forma de hacerlo automáticamente con una macro? Adjunto el archivo de ejemplo. Espero vuestro apoyo. Saludos Frank
-
0
Reacciones de usuarios
- 1 respuesta
- 652 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 [email protected]
Información adicional: Encontrarás más información en la política de privacidad.