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
-
Hola compañeros, Acabo de crear un formulario y no me reconoce las variables objeto declaradas en la zona de declaraciones... ' Zona de declaraciones Dim PRUEBAS As Worksheet Private Sub cbAceptar_Click() Set PRUEBAS = Sheets("Hoja1") Dim ultimaFila As Long ultimaFila = PRUEBAS.Range("A1048576").End(xlUp).Row ' Y por aquí el resto del código... end sub Me salta un error que no me reconoce el objeto. A qué podrá deberse? Muchas gracias de antemano por cualquier tipo orientación.
-
0
Reacciones de usuarios
- 1 respuesta
- 581 visitas
-
-
Me gustaría saber si hay manera de hacer lo siguiente: Que el usuario seleccione el rango a analizar y que mediante macro se cuente y añada en una tabla en la misma hoja las veces que aparece cada franja horaria con un color determinado. Es decir: en el rango seleccionado aparecen las franjas de tiempo: ·0:15 Aparece en cuatro ocasiones en celdas de color amarillo. Aparece en seis ocasiones en celdas de color verde. Aparece en dos ocasiones en celdas de color rojo. ·0:30 Aparece en tres ocasiones en celdas de color amarillo. Aparece en cinco ocasiones en celdas de color verde. Aparece una ocasión en celdas de color naranja. ·Etc. Y luego esos datos colocarlos e…
-
0
Reacciones de usuarios
- 0 respuestas
- 581 visitas
-
-
Buenas tardes, estuve alejado por bastante tiempo del foro por motivos personales y laborales. El archivo que adjunto funcionaba muy bien en mi sistema de 32 b, ahora que necesito usarlo no funciona en 64 bits. Agradeceré se sirvan darle una revisada. Gracias anticipadas Explorador con listview.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 581 visitas
- 3 seguidores
-
-
Buen dia Tengo un formato que va llenando un excel, debo cargar los datos de varios listbox a una determinada direccion de la hoja. En el adjunto el userform1 tiene el listbox2 que carga máximo tres filas, estas tres filas deben transferirse a la hoja "Chaeck in" en el rango A25 a Z25. Como la idea es que el usuario llene todos los formularios y haga correcciones si es necesario, el userform9 tiene el boton que carga la data de todos los fomularios a la hoja. No logro cargar el listbox; agradezco su acostumbrada ayuda. FORMATO CREACION DE PROVEEDORES 1.0.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 581 visitas
-
-
Adjunto un archivo en zip. El ejemplo que expongo está en la hoja 4 del libro Excel y lo que quiero conseguir lo explico en las siguientes líneas: Si el resultado de restar la tasa de arriba (por ejemplo la yq) con la de abajo (también yq) es negativo querría que el resultado se ubicase en la celda H4 (hilera con símbolo o) y el valor de la tasa yq de abajo apareciese en la celda h7 (hilera con símbolo x) Si el resultado de restar la tasa yq de arriba con la yq de abajo es positivo querría que en la celda h4 (hilera con símbolo o) se colocase la tasa yq de arriba y la diferencia en la columna h7 (hilera con símbolo x). Luego habría que hacerlo con cada grupo de tasa…
-
0
Reacciones de usuarios
- 0 respuestas
- 581 visitas
-
-
Buenos días, Quisiera saber si es posible... deshabilitar la barra de herramientas cuando abra un libro... no ocultarla, ya que quiero que no modifiquen nada del libro cuando lo tengan abierto. es posible?? Muchas gracias, Saludos.
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Mil disculpas soy nuevo en el foro y habia puesto este tratamiento en excel general Muy buenos días, quiero hacer una consulta, tengo una hoja1 con una tabla en excel del cual tiene muchos valores repetidos y y en otra hoja2 están los valores únicos, lo que deseo hacer es que cuando encuentre el valor que no se repite en la hoja2 me traiga en la hoja1 en una celda contigua de la hoja2 la palabra "existe" con la función buscarv no sirve porque me trae el primer registro entonces había pensado hacerlo con código vba pero me ha dado muy difícil he utiliza el ciclo for y do while pero siempre me trae los valores que estan ordenados y la tabla esta desordenada, de antemano …
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Necesito me ayudan a: Hacer una macro que me permita hacer pegatinas autorrellenables ( tabla azul a la izquierda); celdas en roja); de tal modo que; rellenando a mano el código de una máquina (celda E2 amarilla, de la pestaña pegatina), autorrellena en la tabla verde, los equipos que forman parte de ella ( los busca en la pestaña equipos). Para este caso son 4 equipos, por tanto: 1:necesito que se me generen (tantas pegatinas, como equipos tenga la máquina (4 en este caso) y que se autorrellene el campo descripción e identificativo ( que corresponde con la columna P y Q, de la tabla verde). MACRO PEGATINAS v04 - autorrelleno.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 580 visitas
-
-
Hola estimados: favor su ayuda con la aplicacion de una macro que me permita desde una planila madre enviar informacion a distintas hojas segun distintos criterios. soy un novato en este tema, pero si me pudiesen orientar se los agradeceria mucho!! espero sus respuestas!
-
0
Reacciones de usuarios
- 4 respuestas
- 580 visitas
-
-
Me gustaría que me pudieran ayudar en: En un gráfico quiero que el rango del grafico sea dinámico se que se tiene que crear un nombre y anexarlo a la serie del grafico pero cuando lo coloco no me deja salir de la barra de formula y en un ejemplo que vi si lo tiene y funciona. Anexo línea =SERIES('ejemplo grafica.xlsm'!EtiquetaDinámica,Dashboard!$C$4:$H$4,'ejemplo grafica.xlsm'!RangoDinámico,1) · la primera parte si me lo permite pero ya donde dice rango dinámico ya no me deja
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Hola amigos del foro Aqui con una consulta. Como puedo hacer para restringir para que no me haga suma en una misma celda. Es decir si hago +1+1+1+1+1 o =1+1+1+1 que me diga que este tipo de calculo no esta permitido. Espero no confundirlos y se los agradesco muchos. Estve intentando con este código pero no me funcionó Private Sub Worksheet_SelectionChange(ByVal Target As Range) Const rango = "A1:A10" Dim celda As Range For Each celda In Range(rango) If IsNumeric(celda) = False Then If celda.Value = "" Then GoTo continuar Else: MsgBox "No es número. Inténtelo de nuevo" celda.Select End If End If continuar: Next celda End Sub[/CODE]
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Utilizando VBA en Excel 2007 como importo una Tabla de Access que tiene más de 1'048576 filas La idea sería que al importarla y llegue al límite, continúe en una nueva hoja. Apreciaré su apoyo. Gracias,
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
buen dia a todos, con esta macro cargo varios archivos planos de texto a excel,, mi pregunta es como haria para que el nombre de cada hoja solo tenga del caracter 7 al 15 , y solo extraiga 20 registros por cada hoja Sub ExtaerArchivosPlanos() Dim FilesToOpen Dim x As Integer Dim wkbAll As Workbook Dim wkbTemp As Workbook Dim sDelimiter As String On Error GoTo ErrHandler Application.ScreenUpdating = False sDelimiter = "|" FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Text Files (*.txt), *.txt", _ MultiSelect:=True, Title:="Text Files to Open") If TypeName(FilesToOpen) = "Boolean" Then …
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Que tal amigos de Ayuda Excel tengo un archivo y requiero de su ayuda en lo siguiente: - Paso 1 En la Hoja Base a partir de la columna "A6" los ordene de la A la Z y seleccione el primer registro lo copie en la Hoja reporte, en la columna "C1" ponga el nombre del cliente y se imprima la hoja, que el proceso se repita hasta que seleccione todos los registros. - Paso 2 En la Hoja Base a partir de la columna "A6" los ordene de la A la Z para que seleccione todos los clientes que coincidan con la misma inicial y los copie en la Hoja reporte, en la columna "C1" ponga el nombre del cliente y se imprima la hoja, que el proceso se repita hasta que seleccione a todos los cliente…
-
0
Reacciones de usuarios
- 2 respuestas
- 580 visitas
-
-
Estimados: Estuve buscando en el foro, pero no he encontrado un tema parecido, lo que necesito es una macro que seleccione un rango determinado de una columna que cuando al imputbox se le indique una cantidad x, esto sea copiado a otra columna y luego filtrar un reporte con estos últimos datos autollenados para imprimir o para que sea enviado por email. De acuerdo al archivo adjunto sería, en la columna A se encuentra los datos a copiar, que seleccione 5 celdas hacia abajo y copie a partir de la celda vacía de la columna M y luego autollenar las columnas I6 a L6, también 5 celdas hacia abajo con la misma información I5 a L5 y la columna H autoallenerse en correlativo.…
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Hola a todos: ¿como podría concatenar la columna C y D de la siguiente macro de la cual su autor es Antoni, y que me la pegue en la hoja2 columna D? Muchas gracias por su tiempo y su apoyo. Bendiciones. Sub Copiar() Application.ScreenUpdating = False Set H1 = Sheets("ORIGEN") Set H2 = Sheets("DESTINO") H2.Range("A1:Z50000").ClearContents H2.Range("A1:Z50000").ClearFormats fila = H2.Range("A" & Rows.Count).End(xlUp).Row '+ 1 'Range("A" & fila) = "Albaranes" fila = fila '+ 1 ufila = H1.Range("A" & Rows.Count).End(xlUp).Row H1.Range("B1:B" & ufila).Copy: H2.Range("A" & fila).PasteSpecial 'xlValues …
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Buenas.... necesito que me ayuden con este codigo o si hay otra mejor todavia, este es el codigo: For X = 2 To Range("F" & Rows.Count).End(xlUp).Row + 1 Range("H" & X) = "" Range("I" & X) = "" Do Until Not sumaa < 5 Or Range("F" & X) = "" sumaa = sumaa + Range("F" & X) sumab = sumab + Range("G" & X) X = X + 1 Loop If Not sumaa = 5 Then Range("I" & X - 1) = "*" Range("H" & X - 1) = sumab sumaa = 0 sumab = 0 If Not Range("F" & X) = "" Then X = X - 1 Next En VBA quiero que me realize lo siguiente: en la columna F me sume hasta 5 , y que vuelva a sumar 5 hasta el final y paralelamente en la columna G me obtenga el prom…
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Saludos. Vengo trabajando un libro con macros en Excel 2007 desde hace algunos años para elaborar horarios de profesores en la Facultad donde laboro. Al principio lo hacía bajo Windows XP y operaba muy bien. Cuando tuve que hacerlo en Windows 7 el comportamiento general y las macros al correr lo hace mucho más lento, la diferencia es notable. Se me parece a lo que reportó jguerrerot hace casi un par de años (22-03-12) bajo el título "Lentitud al ejecutar macro en dos máquinas distintas con procesadores diferentes", que entiendo permanece pendiente. Agradecería mucho si me ilustran al respecto y si hay algo que se pueda hacer. Gracias
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Hola en este Archivo se Requiere que al estar en la Celda Activa de la Hoja "Resumen", se vea en un Comentario Detalle de la Hoja "Trabajo", con Campo Común entre Ambas. EquipoZ.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 580 visitas
-
-
Hola, resulta que tengo una columna con unos ids que son números y necesito que en esa fila se repita 4 veces el mismo número hacia abajo, para que luego en cada fila de cada número aparezca los números 1,2,19,61 en la columna B de cada número, existe alguna fórmula que lo pueda hacer auto? Saludos y Gracias! product_2023-02-19_192903.csv
-
0
Reacciones de usuarios
- 5 respuestas
- 579 visitas
- 2 seguidores
-
-
Hola buenas tardes, estoy buscando armar una macro que me remplace un texto que puede aparece en la columna B:B o en la columna C:C de diferente hojas (Pueden ser muchas hojas, mas de 50). El texto que tengo que remplazar puede estar escrito de diferentes formas y ese es el problema por el cual no puedo filtrar. Ejm. en una hoja puede aparece escrito asi: Ref. DescripciónDescripción 2 Cantidad Unidad 4132 Antiespumante 7.50 Lts 4001 Cloruro De Calcio 90% 75.00 Kg C09-A2 Cemento cumun A 2.5 Tn Esto se repite en 50 hojas aproximadamen…
-
0
Reacciones de usuarios
- 1 respuesta
- 579 visitas
-
-
amm alguien me podria ayudar para hacer una macro que me ayude a identificar las preguntas de un cuestionario que no estan contestadas y para que las responda automaticamente , las respuestas ya son fijas GRACIAS SALUDOS
-
0
Reacciones de usuarios
- 1 respuesta
- 579 visitas
-
-
Hola de Nuevo Os presento el siguiente reto que no encuentro como solucionarlo. CELDA C2 : Necesito obtener el promedio de las reclamaciones de todos los proveedores con entregas durante el año indicado en la celda 'C1' CELDA C3: Necesito obtener el promedio de los PPMS del año indicado en la celda 'C1' de todos los proveedores con entregas durante el año indicado en la celda 'C1' Adjunto fichero. promedio.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 579 visitas
-
-
Hola buenas tardes: estoy creando un formulario para registrar datos pero en diferentes hojas. Dentro del formulario ya he agregado un campo para la seleccion del nombre (nombre de la hoja donde debo ingresar los datos capturados) y funciona bien pero dentro de cada hoja en la columna A tengo los consecutivos actuales, este corresponde al ultimo registro. con la funcion de: Me.txtCons = Application.WorksheetFunction.Max(Range("A:A")) + 1 , puesto en: UserForm_Activate me mostraba el ultimo consectivo de una sola hoja. Pero ahora que he agregado el cambio de hojas ya no lo toma. Mi necesidad seria que al cambiar el nombre de la hoja me diera e…
-
1
Reacciones de usuarios
- 6 respuestas
- 579 visitas
- 2 seguidores
-
-
Hola a todos, Tengo un problema a la hora de renumerar asientos de contabilidad en excel. Copio listado para que se vea más fácil ademas de explicarlo. Cada asiento tiene un número de documento, y cada asiento tiene varias líneas, que están numeradas a partir del 1. Si elimino algunas de estas líneas, necesito que la numeración se haga de nuevo. Por ejemplo, el asiento 20000 tiene 5 lineas, numeradas del 1 al 5. Si elimino la línea 4, necesito que el resto de lineas se numeren del 1 al 4. Veis posible hacerlo con fórmulas de excel, o sería necesaria una macro? En el ejemplo, si elimino la linea 2 del asiento 21003434, necesitaría que los números de línea se nu…
-
0
Reacciones de usuarios
- 1 respuesta
- 579 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.