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
-
Buenos días, Tengo una tabla en una hoja y estoy intentando saber cual es la ultima celda vacia por la derecha de cada fila. Puede haber filas que estén completas (con datos en todas sus columnas o no) Estoy utilizando este código que supuestamente me da el numero de columna que no está vacia, pero parece comportarse erroneamente, ya que siempre me lee la ultima celda de la fila aunque esté vacia. Creo que puede ser por la propia definicion de tabla en excel? UltCol = Datos.Cells(3, Datos.Columns.Count).End(xlToLeft).Column Siempre me da la posicion 33 que es la columna AG. Alguna idea ? Gracias
-
0
Reacciones de usuarios
- 7 respuestas
- 1.7k visitas
- 1 seguidor
-
-
Hola buenas tardes, Tengo un problema que no me deja iniciar el UserForm y no se a que se debe.... Me salta el siguiente error La verdad que no se porque me pasa esto ya que estaba trabajando con el formulario y de repente no me deja iniciarlo. Dejo el archivo adjunto Un saludo, VBA3.xlsm
-
0
Reacciones de usuarios
- 4 respuestas
- 1.7k visitas
- 1 seguidor
-
-
recurro a su ayuda ya que no me doy cuenta donde esta el error, la macro corre al hacer click en el logo, espero puedan ayudarme. Muchas Gracias copia.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1.7k visitas
-
-
Hola a todos tengo un problemilla tengo una lista con una serie de datos, mi pregunta es la siguiente: habria alguna macro capaz de leer en la columna Ahasta donde ponga TOTAL PROVEEDOR y concatenar los datos de la columna n? Gracias a todos por vuestro tiempo y la labor de aprendizaje un saludo 01-Prueba.xls
-
0
Reacciones de usuarios
- 13 respuestas
- 1.7k visitas
-
-
Buenas, acudo de nuevo en busca de ayuda a la página que me ha salvado ya en varias ocasiones, seguro que una vez más me sacáis del apuro. Os relato lo que me propongo y no tengo ni idea de como realizar: Tengo varias carpetas con libros como el que os adjunto, lo que necesito es una macro que me cree un libro nuevo copiando en el todas las filas a partir de la 15, necesito que copie los datos de las columnas A a la G y que en la columna H del nuevo libro me copie el contenido de la casilla A3. El mayor problema que le veo es que hago modificaciones en esos libros a menudo y lo que no necesito es que cada vez me copie los nuevos datos, sino que solo copie los que se a…
-
0
Reacciones de usuarios
- 16 respuestas
- 1.7k visitas
-
-
Muy buenas, soy nuevo en el foro, y ante todo quiero daros las gracias por el mismo. En la empresa hacemos las tarifas de precios, que luego imprimimos, en formato excel. El libro de excel con la tarifa contiene en la primera página la portada de la tarifa de precios, y en las demás paginas, 25 líneas con productos, en las que indico el nombre del producto, forma de envasado y precio. Además de ésto incluimos a un lado del nombre del producto, una forma (elipse, estrella, o cuadrado), con un color, que identifica una característica del producto, en concreto y como ejemplo, la elipse amarilla indica si el producto es apto para la industria alimentaria. Pues bien, p…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k visitas
-
-
Buenas noches tengo este problema, tengo un archivo Excel con conexión a una base de datos Access, que funciona bien solo, le adicione un visor de archivo pdf que encontré en la web. Al implementarlo en un solo archivo al ejecutar la macro para ingresar información a Access funciona bien; llamo al visor de pdf y visualizo correctamente, cierro el formulario. El Problema: se origina al ingresar información por segunda vez a Access. saliendo el siguiente error Microsoft Excel dejo de funcionar: Firma con problemas: nombre del evento de problema: BEX64 Nombre de la aplicación: EXCEL.EXE Versión de la aplicación: 16.0.12228.20364 Marca de …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
-
-
Hola, tengo una duda. Tengo un Listbox en el cual aparecen datos del rango (A1:B10) por ejemplo, lo que necesito es que al seleccionar un dato del Listbox y presionar un boton ese registro se elimine de la Hoja. Pero no que se elimine la celda, si no que quede en blanco donde estaba registro. Si no es mucho pedir si se podria poner en el lugar donde quedo eliminado el registro una frase como "Registro fue eliminado". Gracias espero su ayuda.
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k visitas
-
-
Hola. Tengo un listbox desde el cual quiero copiar un item seleccionado con doble click. El contendfio lo copia bien pero al pegarlo siempre me pega "??", dos interrogantes. He utilizado varios codigos y siempre ma pasa. Alguien podria decirme que hago mal?. Este es el codigo que utilizo: Private Sub ListBox_CONCEPTO_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim DMyData As New MSForms.DataObject 'Dim MyData As DataObject Dim copia As String Set MyData = New DataObject copia = ListBox_CONCEPTO.Text MsgBox copia MyData.Clear MyData.SetText copia MyData.PutInClipboard End Sub Gracias. MJ
-
0
Reacciones de usuarios
- 4 respuestas
- 1.7k visitas
-
-
Buen día gente del foro, acá estoy con otra consulta: le asigné a una figura que está en la hoja "Busqueda B.VENTAS" una macro para que me dirija a la celda G4 de esa misma hoja, pero ahora sumé otra hoja y necesito agregarle a ese código un condicional que evalúe: si el valor de la celda H3 que está en la hoja "VENTAS" es mayor a 21 entonces me debería dirigir a la celda G4 de hoja "Busqueda B.VENTAS" (que es donde está el botón) y si es menor o igual, que me lleve a la hoja "FACTURA MEDIA" en la celda G4. Desde ya muchas gracias Ejemplo.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k visitas
-
-
Quiero copiar un rango de una hoja y pegarlo en otra, todo va bien hasta la instruccion paste, que da "error en el método paste de la clase Woksheet". Alguien me puede ayudar? Gracias. Sub CargaCCH2() Dim dia1 As Date Dim dia2 As Date dia1 = #1/2/2013# dia2 = #1/3/2013# Worksheets("CHT").Select uf = Range("a1000000").End(xlUp).Row Set busco = ActiveSheet.Range("a1", "a" & uf).Find(dia1) fi = busco.Row Set busco = ActiveSheet.Range("a1", "a" & uf).Find(dia2) ff = busco.Row ff = ff + 23 Range("a" & fi, "d" & ff).Copy Worksheets("CH").Activate uf2 = Range("a1000000").End(xlUp).Row Range("a1", "d" & uf2).ClearContents Cells(1, 1).Select …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
-
-
Hola , necesito una pequeña ayuda para generar una macro que me compare la columna A en dos hojas diferentes (Hoja 1 y Hoja 2). La columna A de la hoja 1 contiene DNI+ Nombre (123456 Pedro Perez) y la columna A de la hoja 2 contiene solo el DNI (123456) La idea es recorrer con cada dato que hay en la columna A de la hoja 2 , la Columna A de la hoja 1 Si el DNI esta en la celda marcar la celda en verde, sino pasar a la siguiente celda (los DNI pueden estar descolocados) Sino lo encuentra, copiar el dato a la hoja 3 y marcar en amarillo. Adjunto un ejemplo Ejemplo comparar columnas.xlsx
-
0
Reacciones de usuarios
- 6 respuestas
- 1.7k visitas
-
-
manejo actualmente un formulario que pretende hacer que se reproduzca la vos de excel con el metodo Speech pero la reproduccion de la voz debe mencionar el valor de un combobox y eso me da error,es posible hacerlo? aqui el codigo para su evaluacion Sub voz() Dim var As String var = Userform1.ComboBox1.Value Application.Speech.Speak "var" End Sub
-
0
Reacciones de usuarios
- 8 respuestas
- 1.7k visitas
-
-
Hi Everyone My new problem is this: On an Excel sheet in Column (C) 1) I would like that every time I enter a word like ("btp fut") or write ("btp ital") the letter (L) should appear in Column (P) 2) While If in Column (D) I enter a Date less than 5 days compared to today's date We will have to create the lettara (D) in the column (P) 3) If in Column (I) the Writing ("change balance") is shown and in Column (J) it does not contain (0), the Letters (CS) in column (P) should appear 4) If in column (K) I write the word ("square *") Write the letter (Q) in Column (P) Let's say I don't expect you to do all the work for me But that you help me …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
-
-
Hola Foro nuevamente para pedir una orientacion, ayuda..... Deseo copiar los datos de la Hoja Datos a la Hoja Formato, actualmente lo realizo por medio de formulas pero es un rompecoco cuando los datos inician aumentar (Cantidad de Datos a Grabar) La idea es copiar los datos de las columnas que estan de color rojo como ID, NOMBRE APELLIDO, DNI, LUGAR DE NACIMIENTO, EMPRESA, y todos los ARTICULOS a la hoja Formato, respetando los articulos y sus medidas (Kilos, Unidades, litros, Metros etc, etc) Nota: cada articulo tiene sus propias medidas ver hoja excel guia. Como siempre muy agradecido por la colaboracion buen dia gracias. Espero haberme explicado EN…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.7k visitas
-
-
Buen día, Me pueden ayudar por favor con la siguiente inquietud. Tengo una macro que me unifica varios libros csv en uno solo, el csv original esta separado por este carácter (¤), pero en alguno de los campos están separados por comas ejemplo (0,00), entonces al momento de ejecutar la macro, me lo separa en otras columnas y requiero que todo quede en una sola columna. Quedo atento a su ayuda, anexo la macro y el resultado de la macro. Gracias BASE DE DATOS UNICA.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 1.7k visitas
-
-
Hola. Tengo hecha una macro muy sencilla cuyo objetivo es mostrar en otra hoja aquellas celdas que están en blanco. Este es el código: Public Sub blancos() Dim f As Integer Dim f_max, c_max As Long ActiveWorkbook.Worksheets("Hoja1").Copy after:=Worksheets("Hoja2") 'Para saber cuantas filas y columnas hay como maximo rellenas f_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Row c_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Column 'Para situarse en la celda Range("AE").Select 'Cells(4, 10).Select 'Rows(4, 10).Select For f = 4 To f_max If ActiveCell.Value <> "" Then ActiveCell.EntireRow.Delete If ActiveCell.Value = "" Then ActiveCell.Offset(1,…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
-
-
Hola a todos. Estoy intentado crear una Macro para extraer los datos de varios archivos, mismo formato, y unificarlo en uno general. Mi problema es que estos archivos individules se actualizan constatemente, es decir, que al consultarlo a primera hora puede existir 100 registros y a media mañana 50 registros más. Al crear la macro no tengo problema, pero si esta macro la ejecuto transcurridas varias horas despues de creearlo y al tener más registros lo archivos individuales, en el archivo donde la ejecuto se pisan los datos. Con lo que pierdo información. Por favor, alguien me puede ayudar. No adjunto archivo Un saludo Germán
-
0
Reacciones de usuarios
- 9 respuestas
- 1.7k visitas
-
-
Buenos días Grupo Acudo a la ayuda de ustedes para realizar una conexión de un macro de excel a una base de datos de ACCESS Ademas me gustaria saber si es posible que detecte si la hoja Registro tiene mas de una fila con datos lo pase automaticamente al archivo de ACCESS. Saludos Datos.rar
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
- 1 seguidor
-
-
Que tal buenas tardes a todos!!! Para consultar y pedir apoyo si alguien me puede ayudar en este documento tengo una macro que se ejecuta con convinacion de teclas Ctrl+T dicha macro quiero eliminar la después de un cierto tiempo para que ya no se pueda ejecutar espero alguien me pueda ayudar y darme una propuesta Existencias_productos.xls.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
- 1 seguidor
-
-
tengo una hoja en la cual necesito seleccionar un rango aleatoriamente, me explico: columna "A linea 1 a la 10 con datos" capturados manualmente columna "B linea 1 a la 10 con datos" capturados manualmente columna "C linea 1 a la 5 con datos" capturados automaticamente quiero seleccionar de la "C6:C10" y a cada una de las celdas que les falta datos intoducir un dato en forma automatica mi rutina es la siguiente Dim celda As range range("c1").Select 'columna con datos automaticos ActiveCell.End(xlDown).Activate 'para saber hasta donde tengo datos ActiveCell.Offset(1, -1).Select 'para saber que datos me faltan en la columna c r1 = ActiveCell.Addre…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.7k visitas
-
-
Hola a todxs, Quiero depurar el siguiente código: ... Columns("F:F").Columns.Group Columns("J:J").Columns.Group Columns("M:M").Columns.Group Columns("Q:S").Columns.Group ... Y se me ha ocurrido aplicando un Array: ... Dim Columna As Range Set Columna = Array("F:F", "J:J", "M:M", "Q:S") For Columna = 0 To UBound(Columna) Columns(Columna).Columns.Group Next Columna ... Pero me da error. No logro identificar qué estoy haciendo mal. Necesito orientación... Gracias de antemano por vuestro tiempo.
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
- 1 seguidor
-
-
Hola de nuevo. Llevo varias horas con esto y no consigo trabajar bien con las horas en VBA. Ahora mismo el problema que tengo es que con este código no me suma los Textbox vacíos. Necesito que los sume como "cero". Porque a veces no hay hora de entrada, o tampoco final, simplemente porque ha estado de vacaciones. O por ejemplo no ha habido tiempo para comer porque se ha hecho la jornada continua. ¿Podéis ayudarme? Me da lo mismo que lo de en horas (hh:mm) que en decimal, pero que me de el resultado., que no sea un número entero. TextBoxT1 es el resultado, TextBoxS1 es la hora Final, TextBoxE1 es hora Inicio, TextBoxN1 es el tiempo para comer. Es decir que a…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.7k visitas
- 1 seguidor
-
-
HABER SI ME EXPLICO.QUIERO FILTRAR DOS CONDICIONES (REPARTIDOR Y FECHA)PERO LOS RESULTADOS ME LOS MUESTRE EN OTRA HOJAPERO NO TENGO NI IDEA COMO EMPEZARTENGO ARCHIVO CONREPARTIDOR -CLIENTE -FECHA DE SURTIDO -CANTIDADY NECESITO QUE ME FILTRE POR REPARTIDOR Y FECHA PARA PODER PROGRAMAR EL PEDIDO:soap:
-
0
Reacciones de usuarios
- 3 respuestas
- 1.7k visitas
-
-
Hola gente saludos,alguna sabra como unir 2 tablas de manera que quede como 1 ordenada por fecha usando sql,he tratado pero no consigo como ,el resultado no es lo esperado lo que deseo es que la consulta se vea asi como enla imagen aqui dejo el archivo agradezco su respuesta https://drive.google.com/open?id=1gg88oQxNxasdCn_SKTX8l4IDAcrJxbKI
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k 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.