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
-
Hola. Estoy trabajando con ComboBox que permiten desplegar y seleccionar opciones en una celda, sin embargo al momento de seleccionar una fila o columna se crea un ComboBox, imposibilitando el copiar y pegar información. Dejo archivo. Lo que quiero es evitar que se creen o se visualicen ComboBox donde no deberían. COMUNIDADES (1).xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1.1k visitas
-
-
Hola compañeros, Mi problema es el siguiente: "Tengo una macro que ejecuta un código cualquiera sobre varias hojas, y entre ello está inmovilizar los paneles de una hoja. El problema es que yo no quiero que se inmovilicen los paneles de la ventana activa, sino de la ventana de la hoja que yo le indique. Esto se debe a que introduzco la sentencia 'ActiveWindow.FreezePanes = true' Entonces, mi pregunta es: ¿No existe otra sentencia para inmovilizar paneles que no sea la anterior? Es decir, algo así como 'ThisWorkbook.Worksheets("Hoja1").FreezePanes = true'. Ya probé con la sentencia anterior, pero obviamente no me deja dado que FreezePanes es u…
-
0
Reacciones de usuarios
- 6 respuestas
- 2.4k visitas
-
-
Hola, buen día. Tengo la siguiente macro que me ayuda a quitar caracteres especiales y/o acentos. Pero actualmente solo busca en un rango o en celda especifica. Como necesito que lo haga en 70 celdas especifcas (sin seguir algun rango o logica) lo que hago es copair y pegar lo mismo solo cambiando la celda. pero al momento de correr no me deja porque el proyectoes muy largo. ¿Alguno de uds podría por favor sugerirme alguna otra manera? Quedo pendiente y nuevamente muchas gracias Dejo el código: Sub Quita_acentos() '(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' Auto run when user hits save or closes Excel.…
-
0
Reacciones de usuarios
- 4 respuestas
- 5.6k visitas
-
-
Saludos a todos los profes de esta gran materia , recurro a uds , si alguien puede ayudarme con el error que no me deja avanzar en mi proyecto . se trata de llenar un listBox y de acuerdo al registro seleccionado debe llenar los txt correspondientes , adjunto la programacion utilizada FSE2Nueva_facturacion.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 527 visitas
-
-
Hola Masters! Estoy desarrollando una macro que debe copiar y pegar un rango de datos muy grande de la Hoja "BD" hacia la Hoja "DATOS GRAL" del mismo archivo pero por alguna razón cuando ejecuto la macro se traba y me aparece "Excel no responde". El rango de datos es de apróx 639,360 celdas. El código que uso es este: Sheets("BD").Select Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("DATOS GRAL").Select Range("A4").Select ActiveSheet.Paste Nota: Si lo hago de forma manual el copiar y pegar los mis…
-
0
Reacciones de usuarios
- 1 respuesta
- 1k visitas
-
-
Mis mas sinceros saludos a equipo y colaboradores de Ayuda Excel. He decidido ponerme en contacto con uds para ver de solucionar un problema con un proyecto que he encarado con mucho entuciasmo, les comento que nadie me explico nada lo poco que se lo aprendí viendo videos y estudiando de alguna paginas de Microsoft para entender algunas cosas . El problema puede parecer muy sencillo , pero para mi no loes , y esta el la macro eliminar del proyecto que elimina la fila completa de la tabla de datos, en algunas oportunidades elimina correctamente pero en ciertas otras me elimina además de la fila la primera columna de mi base de datos, o sea pierdo el nombre de …
-
0
Reacciones de usuarios
- 3 respuestas
- 879 visitas
-
-
¡Hola! Para cargar un ComboBox en un celda (con valores predeterminados de una lista) estoy utilizando el siguiente código: Private Sub mycombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Or KeyCode = 9 Then Range(mycombo.LinkedCell).Offset(1).Select If KeyCode = 13 Then ActiveCell.Offset(-1).Select End If End Sub Private Sub mycombo2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Or KeyCode = 9 Then Range(mycombo.LinkedCell).Offset(1).Select If KeyCode = 13 Then ActiveCell.Offset(-1).Select End Sub Private Sub Worksheet_Selec…
-
0
Reacciones de usuarios
- 1 respuesta
- 1k visitas
-
-
Sub CopiarCeldas() 'Defini objetos Dim wbDestino As Workbook, _ wsOrigen As Excel.Worksheet, _ wsDestino As Excel.Worksheet, _ rngOrigen As Excel.Range, _ rngDestino As Excel.Range 'indicio el libro de Excel destino Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "/Datos - Abastecimientos.xlsm") 'Activar este libro ThisWorkbook.Activate 'Indicar las hojas de origen y destino Set wsOrigen = Worksheets("Other") Set wsDestino = wbDestino.Worksheets("Datos") 'Indicar la celda de origen y destino Const celdaOrigen = "A1" Const celdaDestino = "A1" 'Inicializar los rangos de origen y destino Set rngOrigen = wsOrigen.Range(celdaOrigen) Set…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.5k visitas
-
-
Buenos dias expertos, tengo un formulario que funcion bien la busqueda, la unica dificultad es que cuando ingreso un numero que no es el correlivo lo filtra todas las concidencia y no quiero que suceda eso que haga la busqueda de facturas exactos si el correlativo no corresponde simplemente que no muestre nada. Adjunto el link del archivo: https://drive.google.com/file/d/1lms6MCWIPLoRTb1ySTw_pss9q6fKDUhd/view?usp=sharing
-
0
Reacciones de usuarios
- 2 respuestas
- 697 visitas
-
-
Hello everybody My new problem is this. On an Excel sheet with office 2007 I extract links relating to images from a web page. And I insert them in the 8 lines starting from the cell ("B10: B17") And so far everything is ok In turn, the related images are extracted from these links. Now the problem is this: 1) I would like the first image to be imprinted only in the cell (A2) While all the others were positioned at each extraction in the row ("A6: G6") 2) at the same time I would like the procedure start button Remain unchanged in its place That's all, thanks in advance for all the help you want to give me in this regard. Thanks from A.Mauri…
-
0
Reacciones de usuarios
- 2 respuestas
- 840 visitas
-
-
Hola buen día, favor alguien podría ayudarme con una breve explicación, del porque cuando ya convierto un numero a texto no lo imprime en la celda... me falta algún paso por hacer?? de antemano muchas gracias si pueden ayudarme. Sub prueba() Dim entero As Long entero = 212341234 Dim str As String str = CStr(entero) QR.Range("k1").Value = str Debug.Print str End Sub Muchas gracias Saludos, Prueba.wmv
-
0
Reacciones de usuarios
- 2 respuestas
- 1.2k visitas
-
-
Buenas tardes a los integrantes de este prestigioso foro, en ocasión recurro a Uds, para que brinden su apoyo con la siguiente macro, a la cual quiero que en la barra de estado cuente la cantidad registros que se encuentran en la pestaña PLANILLA que empieza en la celda AZ8 hasta la AZ2507 y por cada archivo que van generando en PDF indique 1 de 19, 2 de 19, .... hasta llegar a 19 de 19, desde ya agradezco su apoyo y colaboración. Sub ElegirAccion() Dim i As Integer Dim intInicial As Integer Dim intFinal As Integer Dim intConsecutivo As Integer Dim srtTitulo As String Dim Ruta As String Dim nombre As String Dim pass As String, hoja As St…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.4k visitas
-
-
Hola buenas tardes, Tengo un excel con un UseForm el cual me gustaría poder imprimir en horizontal. Tengo creado un botón de imprimir que tiene un código sencillo que me imprime pero en posición vertical y no se visualizan todos los datos que deseo Private Sub bt_imprimir_Click() FrmListBoxProductos.PrintForm End Sub Mi intencion inicial es poder imprimir el Useform por completo pero si no es posible me basta con poder imprimir el ListBox con las cabeceras Espero me puedan ayudar Saludos, BUENO.xlsm
-
0
Reacciones de usuarios
- 7 respuestas
- 2.3k visitas
-
-
Pues eso... Digamos que tengo una hoja repleta de botones con macros y quiero dejarla estática, es decir, que el usuario no se pueda desplazar a través de ella haciendo uso de la ruleta del mouse. Supongo que existirá alguna manera más sencilla de programarlo, pero pienso que lo más lógico sería anular la propiedad SmallScroll del objeto Windows. Muchas gracias de antemano por vuestro tiempo.
-
0
Reacciones de usuarios
- 9 respuestas
- 2.1k visitas
- 1 seguidor
-
-
Buenas noches amigos de AyudaExcel me conseguí código de la Web para enviar la hoja activa de excel pero hay un problema o error al abrirse el inputbox para tipear el nombre de la hoja y querer cancelar la acción con el botón "Cancelar" el envío la macro no se sale y continúa quisiera que al dar cancelar se salga de la macro; en este código no se diferencia la acción de de cada uno de los botones ya que da lo mismo aceptar o cancelar. Gracias por su ayuda Option Explicit ' Sub EviarHojaEmail() ' Dim NombreArchivo As String Dim RutaTemporal As String Dim Mensaje As String ' On Error Resume Next ' Mensaje = "Estás a punto de enviar la hoja activa por…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.9k visitas
-
-
Saludos amigos foristas, recurro a su apoyo de un archivo el cual consta de dos hojas, y se carga mediante un userform que contiene 12 columnas, de la columna 6 a la 12 contiene números, al activar el userform, me carga la información de la Hoja1, y suma las columnas de la 6 a la 12, el error que se origina es que al filtrar por Nombre de Emisor, las columnas 11 y 12, no aparecen los números y no filtra los subtotales pertenecientes al Nombre del Emisor, sino que suma el total de los números en dichas columnas, ¿podrían indicarme o proporcionar información para corregir este error?, de antemano les agradezco mucho. CONTROL 2021.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 925 visitas
-
-
Hola. El archivo 1 contiene un hipervínculo que abre el archivo 2. El archivo 2 tiene un userform que al cerrarse guarda el archivo y lo cierra qudando activo el archivo 1. Teniendo el archivo 1 abierto, abro el archivo 2 haciendo click en el archivo funciona todo bien. El problema: cuando abro el archivo 2 desde el hipervínculo, al cerrar el userform se guarda y cierra el archivo 2. Ahí aparece un cartel en el archivo 1. Muchas gracias por atender mi consulta. Saludos Archivo 2.xlsb Archivo 1.xlsb
-
0
Reacciones de usuarios
- 2 respuestas
- 1.1k visitas
-
-
Hola buenos días a todos , yo aquí sigo trabajando con mi proyecto, en el Modulo 7 he generado un código, que me permite copiar y pegar un rango de datos en un objeto chart exportarlo de forma constante al mismo archivo, insertar, copiar y borrar esa imagen para poder adjuntar a una msg de WhatsApp. Si bien realiza todo el procedimiento tengo dos problemas... uno que si bien yo defino el rango, "Hoja1.Range("A1:F46").Select" al hacerme todo el procedimiento me adjunta 6 hojas en formato imagen en whats app y debería ser solo la primera con datos. y otro detalle es que me gustaría si me pueden ayudar a encontrar una forma que ese rango sea variab…
-
0
Reacciones de usuarios
- 0 respuestas
- 2k visitas
-
-
Buenas chicos tengo el siguiente problemilla. Mediante una macro intento acceder a un archivo csv. delimtado con puntos y comas. y al usar Workbooks.Open Filename:="C:\Users\pc\Desktop\stock.csv" me la abre mal Si la abro normal me la abre perfectamente, he intentado un par de cosillas pero nada fracaso total. Si podéis arrojarme un poco de luz sobre esto os lo agradecería mucho. Un saludo.
-
0
Reacciones de usuarios
- 2 respuestas
- 3.5k visitas
-
-
Hola, hice esta pequeña macro para ingresar algunos datos de negocio. (solo hasta la columna V) ya que las columnas que siguen a la derecha las modificare mediante otra macro. Actualmente lo que aparece en mi txt_code es un número que genero automáticamente con la ayuda de la función "=MAX(Tabla1[CODE])+1" que tengo establecido en la celda "B1" quisiera saber si dicho número que aparece en mi txt_code se puede generar mediante algún comando de macro puro, para poder eliminar la función de arriba. Gracias por su atención. ingresarDATOS.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
- 1 seguidor
-
-
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
- 1.1k visitas
-
-
Hola ¿cómo estáis? ¿Alguien sabe si es posible deshabilitar este botón mediante una macro o con el editor de UI? ¡Gracias!
-
0
Reacciones de usuarios
- 0 respuestas
- 1.1k visitas
-
-
Hola Amigos Programadores, tengo este codigo ? que me sirve para que el archivo corra solo en las pc con los series de disco duro asignados en ese codigo, pero yo quería saber si es posible adaptarle fecha para que después de esa fecha el archivo se elimine.. Probé ponerle este codigo al comienzo de la macro paro me aparece error : Dim FechaVen As Date FechaVen = "20/07/2021" If Date >= FechaVen Then Private Sub Elimina() If IsError(Application.Match(Hex(CreateObject("scripting.filesystemobject").Drives.Item("c:").SerialNumber), Array("EE91AAE1", "8001a6af", "otroSerial_3"), 0)) Then Application.DisplayAle…
-
0
Reacciones de usuarios
- 0 respuestas
- 564 visitas
-
-
Hola nuevamente: Tengo en una celda "B3" la Latitud y Longitud (GPS) y la idea es que al ejecutar la macro se posicione en Google Maps. Posteriormente ya estaré haciendo el copy del Link y lo pasare al excel. (lo ideal es que la macro lo hiciera pero ya es mucho pedir) Gracias desde Guadalajara, México
-
0
Reacciones de usuarios
- 5 respuestas
- 1.9k visitas
-
-
Estimados, buenas, soy nuevo en VBA y al correr mi formulario me aparece el siguiente error en referencia por favor alguien me puede ayudar con la sintaxis de como solucionar el error 1004 adjunto info de como esta ingresado en la programacion Vb: Private Sub LISTA_Click() Dim modelo As String modelo = LISTA.List(LISTA.ListIndex, 7) Me.txt_modelo.Value = modelo End Sub Private Sub txt_modelo_Change() Dim modelo As String modelo = txt_modelo Me.txt_service = Application.WorksheetFunction.VLookup(modelo, Sheets("BD").Range("A:Y"), 20, 0)
-
0
Reacciones de usuarios
- 4 respuestas
- 1.8k 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.