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, tengo un problema con un bucle. El caso es que en el Mac me funciona pero en windows no. El código es este: Private Sub Worksheet_Calculate() Dim KeyCells As Range If Range("C13") = 1 Then Range("D7").Value = Range("D7").Value - 1 End If Do While Range("C13") = 1 Range("D7").Value = Range("D7").Value - 1 Loop If Range("C13") = 0 Then Range("D7").Value = Range("D7").Value + 1 End If Do While Range("C13") = 0 Range("D7").Value = Range("D7").Value + 1 Loop Range("D7").Value = Range("D7").Value - 1 End Sub El caso es que quiero que cuando una celda (la C13) sea 1, me reste 1 de la celda D7, y así hasta qu…
-
0
Reacciones de usuarios
- 0 respuestas
- 2.9k visitas
-
-
Buenas tardes a todos, reciban un cordial saludo, quería solicitar su ayuda para saber si es posible lograr del archivo adjunto que por factura los conceptos de las columnas Descripcion_ELEMENTO-Descripcion_glosa glosa-Codigo se contatenen y elimine los conceptos repetidos dejando solo un numero de factura con los conceptos unidos sin repetición, se tiene en cuenta que el número de filas por facturas no es igual. Es posible que una macro realice esta tarea ejemplo.xls
-
0
Reacciones de usuarios
- 2 respuestas
- 710 visitas
-
-
Hola que tal tengo un problemita con unos codigos, lo que pasa es cuando ejecuto el calculo los resultados me botan con comas , me gustaria que me boten como numero normales con puntos , alguien me me pueda dar una mano con los codigos o algunas parte que tenga que cambiar, gracias! Conservacion de la Energia.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 513 visitas
-
-
Hola Comunidad Un gusto saludarlos Adjunto archivo que en el cual requiero que al rellenar filas de la hoja -Seguimiento Pendientes 2014- en la hoja BDGeneral se haga como un buscarv múltiple para cada mes y cada área esto con el fin de luego crear listas despegables dependientes. Quedo atento y muchas gracias Saludos Ejemplo.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 641 visitas
-
-
Estimados amigos, Necesito su ayuda por favor, no tengo idea de como hacer una macro para que al momento de poner el código busque el la hoja PROVINCIAS el codigo y ponga automaticamente a que provincia pertenece, y ponga un CANTÓN de esa provincia aleatoriamente y de ese CANTÓN ponga una parroquia aleatoriamente COD PROVINCIAS CANTON PARROQUIA 17 al que pertenece aleatorio aleatorio Adjunto el archivo con cantones y parroquias, espero me puedan ayudar con eso, muchas gracias EJEMPLO PROVINCIAS 1.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 676 visitas
-
-
Buenas tardes, Estoy haciendo un programa y pretendo importar los datos de distintas hojas de un archivo excel a otro pero sin que se me abra el archivo. Tengo este código que he sacado grabando una macro, pero cuando lo pego a mi codigo y ejecuto no consigo que importe los datos With Application.FileDialog(msoFileDialogFilePicker) .Title = "Seleccionar arxiu 'Estudi'" .AllowMultiSelect = False .InitialFileName = "\*Estudio_CD*" result = .Show If (result <> 0) Then RutaLBT = Trim(.SelectedItems.Item(1)) End If End With RutaArrel = Left(RutaLBT, Len(RutaLBT) - 14) M…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.2k visitas
-
-
Estimados, Tengo una macro que necesito me ayuden por favor a mejorarla. La macro lo que hace es ver la edad segun la fecha de nacimiento y generar un numero aleatorio supuestamente no repetido, pero al generar nuevos aleatorios si los repite, la macro es la siguiente: Function CALCULAREDAD(FechaNac As Date) Dim nacfecha As Date CALCULAREDAD = Abs(DateDiff("YYYY", FechaNac, Date)) - 1 nacfecha = DateAdd("YYYY", CalcEdad, FechaNac) If Day(nacfecha) < Day(Date) And Month(nacfecha) = Month(Date) Then CALCULAREDAD = CALCULAREDAD + 1 Else If Month(Date) > Month(nacfecha) Then CALCULAREDAD = CALCULAREDAD + 1 End If End If End Function …
-
0
Reacciones de usuarios
- 2 respuestas
- 621 visitas
-
-
Buenas Noches a todos, He comenzado con vba hace muy poco y estoy generando codigo para el manejo de bases de datos, deseo que me filtre la base de datos por dias que pasaron desde ultimo contacto, ejemplo ( si se registro hace una semana serian siete dias), y habria un conjunto de datos que entre en esa clasificacion. El problema radica en que no se como filtar , puesto que hablo de selecciones que incluyen a varios registros, he utilizado el metodo FIND para registros por numero de identificacion y me ha funcionado por que son unicos pero cuando son repetidos no me funciona, ademas deseo que solo las personas que he incluido en el rango de dias me aparezcan en una li…
-
0
Reacciones de usuarios
- 2 respuestas
- 916 visitas
-
-
Hola, siculpen mi incoveniencia alguien sabe el codigo para que el MsgBox que indique el TextBox vacio a la ora de ejercutar el CommandButton , gracias!
-
0
Reacciones de usuarios
- 2 respuestas
- 686 visitas
-
-
Saludos Necesito una macro que autorellene las formulas de cada celda, desde B5:K201 Esto lo puedo hacer manualmente seleccionando desde B5:k5 y arrastrarlo la fila hasta 201, sucede que necesito hacer esto para unos 100 cuadros como estos que ven mostrare en el adjunto en realidad esto lo hice manualmente seleccionando desde B5:APH5, pero perdi algunos formatos de las lineas dibujadas en el proceso... Intente grabar una macro y obtube este resultado: Sub Macro1() ' ' Macro1 Macro ' ' Acceso directo: CTRL+a ' Range("AOY6:APH6").Select Selection.AutoFill Destination:=Range("AOY6:APH201"), Type:=xlFillDefault Range("AOY6:APH201").Select End Sub Sucede…
-
0
Reacciones de usuarios
- 4 respuestas
- 914 visitas
-
-
buenas tardes, tengo la siguiente duda Estoy realizando un formulario y en el puse un combobox, el cual quiero que se llene con una lista de productos, estos productos están en la columna A de excel así que a toda la columna A en excel en el administrador de nombres la llame "Productos" que se refiere =Hoja1!$A$1:$A$250. Mi duda es como hago para que el Combobox me cargue esta lista de productos sin tener que hacer un while, sino unicamente referirme al rango "Productos". pense que seria asi pero no he tenido éxito, espero me puedan ayudar Private Sub Formulario_Activate() Productos.ListFillRange = "Productos" End Sub [/CODE]
-
0
Reacciones de usuarios
- 2 respuestas
- 742 visitas
-
-
Buenos dias a todos. Nuevamente recurro a ustedes para pedir ayuda. Les explico, tengo un archivo con varias hojas las cuales son mis Ordenes de Compra otra hoja que se llama "Explosion de Materiales". Lo que quiero es que de las hojas que son mis "ordenes de compra" tomar el valor de la celda "J10" y pegarlo en la hoja explosion de materiales en la columna "G" siempre y cuando el nombre que esta en "A12" de la hoja que seleccione (Cualquier Orden de Compra) coincida con los nombres que estan en la hoja "Explosion de materiales" Anexo archivo y ahi tengo el ejemplo de como deseo y quede. Gracias y desde ya agradezco por su ayuda. Libro2.xls
-
0
Reacciones de usuarios
- 2 respuestas
- 726 visitas
-
-
Hola buenas. Necesitaria uan macro que copiara o registrara los datos a partir de una fila, estos datos van cambiando. En hoja1 Fila 2 (color amarillo), estos datos no son nunca los mismos nesesitaria una macro para que se copiaran o registraran a partir de la fila 5 (color naranja) a medida que los datos de la fila 2 van cambiando. Hoja 2 lo mismo pero los datos estan en celdas separadas (color amarillo) Gracias de antemano. Salud2. Macro Copiar datos.rar
-
0
Reacciones de usuarios
- 16 respuestas
- 3.3k visitas
-
-
Hola de nuevo, estoy trabajando en una macro para copiar filas y luego ordenarlas (para hacer una análisis estadísticos sobre estas) tengo definido el rango y ya poseo la macro para copiar y filtrara las filas como las deseo. Ahora deseo que , con la misma macro, pueda copiar y ordenar al mismo tiempo. La macro que poseo es ésta: Sub CopyForm() Application.ScreenUpdating = False 'Limpiar datos anteriores Sheets("ANF1").Range("A2:DA46").Cells.ClearContents Sheets("ANF2").Range("A2:DA46").Cells.ClearContents 'Copiamos las claves desde !claves 'Para la Forma 1 Worksheets("claves").Range("B2:CW2").Copy Worksheets("ANF1").Range("E47:CZ47").PasteSpecial xlPasteValu…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.1k visitas
-
-
Hola: Tengo un cronograma que se inserta en posición relativa a una tabla de datos. La tabla contiene varias columnas con nombres de personas y sus correspondientes días de vacaciones. Dichas columnas serán filas en el cronograma. Si eliminas una columna de la tabla, el cronograma se moverá un lugar más a su izquierda. La cuestión es crear un formato condicional (con macros) para cada fila del cronograma teniendo en cuenta que éste se "mueve" de lugar. (Pienso que habrá que conseguirlo en el Módulo "Año". Veréis tres botones, que son los crean el cronograma a partir de la tabla de datos.
-
0
Reacciones de usuarios
- 3 respuestas
- 692 visitas
-
-
Buen día a todos Deseo crear una hoja con los datos de clientes, en donde se registrarán fundamentalmente los pedidos de cada uno de los productos. Estos apuntes se realizan periódicamente, por lo que un mismo cliente estará repetido varias veces. Si a través de una lista despegable, que está en la D5 de la Hoja Tablas, se selecciona un cliente, se mostrarán todas las filas de sus apuntes diarios y se ocultarán las filas de los otros clientes en la Hoja Datos La lista despegable debe ser dinámica para contener a los futuros clientes También aparecerán al final de cada columna (del rango E:R) la suma correspondiente. Gracias de antemano por su tiempo y dedicación Li…
-
0
Reacciones de usuarios
- 0 respuestas
- 909 visitas
-
-
AMIGOS SOY NUEVO AQUÍ ASÍ QUE ESPERO ME DISCULPEN SI ME EQUIVOCO EN ALGO...... BUENO LA PREGUNTA ES LA SIGUIENTE... COMO PUEDO IMPRIMIR AUTOMÁTICAMENTE DESDE EXCEL USANDO MACROS EJEMPLO(MI BASE ES ASI) COMO DICE EN LA IMAGEN DESEO IMPRIMIR HORIZONTALMENTE DESDE E2 HASTA L2 LUEGO E3 HASTA L3 Y ASI ASTA ACABAR LA LISTA DE INGRESOS SON DOS HOJAS DE FORMATOS DE QUE DEBO LLENAR YA QUE EN UNA VAN TODOS LOS DATOS DE LAS BASE Y EN OTRA SOLO VA CÉDULA Y NUMERO TELEFÓNICO BUENO LES DEJO EL ARCHIVO A VER SI ME ECHAN UNA MANITA MEGA de antemano gracias por tomarse el tiempo de leer y gracias por la ayuda
-
0
Reacciones de usuarios
- 0 respuestas
- 723 visitas
-
-
Buenas noches. alguien podra ayudarme con este proyecto. quiero implementar un buscarv pero con useform mas sencillo, en el archivo que subire tiene una hoja con buscarv normal con formula me gustaria llevarlo mas practico a un useform. el archivo trabaja de la siguiente manera en la pestaña buscador hay 2 opciones para buscar una que es por Numero de Caso y la segunda es por Numero de Orden u Orden de servicio. que al yo colocar cualquiera de lo antes mensionado me extraiga la informacion que deseo tal cual como esta en la hora "BUSCADOR" si alguien podria ayudarme o a modificarlo a un useform o me explique como realizarlo se lo agradezco ya que he buscado muchas guias …
-
0
Reacciones de usuarios
- 3 respuestas
- 802 visitas
-
-
Hola buenas tardes, el dia de hoy vi un foro en donde marco antonio nos adjuntaba una macro muy util sobre enviar una hoja de un libro de excel en el cuerpo del correo. "CÓDIGO: Worksheets("Hoja1").Activate With ActiveSheet.MailEnvelope .Introduction = "Te adjunto la información que me solicitaste." & vbCrLf .Item.To = "[email protected]" 'Destinatario .Item.Subject = "Asunto" .Item.Send 'Enviamos el e_mail End With End Sub" este codigo me presentaba un problema y es que me arrojaba un error cuando lo corria por segunda vez, me tocabab cerrar el archivo y volverlo a abrir para que funcionara, esto lo corregí guardando el libro una vez finalizada la macro,…
-
0
Reacciones de usuarios
- 6 respuestas
- 6.7k visitas
-
-
hola este es mi primer post soy nuevo en este temas de macros espero alguien me pueda orientar con la duda siguiente desde vba excel intento crear y Eliminar Citas en el calendario de outlook buscando adapte este codigo y puedo crear sin problema una cita pero no puedo eliminar la cita, espero algun maestro de aqui o alma caritativa de este foro me pueda ayudar orientandome gracias Dim ol As Outlook.Application Dim ns As Outlook.Namespace Dim Respuesta As VbMsgBoxResult Dim itmApoint As Outlook.AppointmentItem Sub Botón1_Haga_clic_en() Set ns = ol.GetNamespace("MAPI") Set itmApoint = Outlook.Application.CreateItem(olAppointmentItem) With itmApoint .Start = "2…
-
0
Reacciones de usuarios
- 6 respuestas
- 2.7k visitas
-
-
Saludos a todos, quisiera saber como crear una macro que haga una lista con una frase y números consecutivos, por ejemplo, que en la primera celda (A1) aparezca "hola 1 fin" en la celda (A2) "hola 2 fin" en la (A3) "hola 3 fin" y así sucesivamente: lo único que cambia es el numero 1,2,3,.... la idea es simple estoy un poco familiarizado con otros entornos de programación y básicamente lo que haría para dar un nombre a la primera celda (A1) seria: Cells(1, 1).Value = " hola 1 fin" y según tengo entendido esto se puede hacer de varias formas por ejm: Cells(1, 1).Value = " hola"+" 1" +"fin" Entonces la idea seria que el 1 aumente consecutivamente. yo queria hace…
-
0
Reacciones de usuarios
- 3 respuestas
- 734 visitas
-
-
hola amigos tengo la siguiente pregunta que a lo mejor ala mayoría de ustedes ya les ha pasado. tengo una formula matricial mayor a 255 caracteres al utilizar la formula manualmente y presionar las teclas control+shift+enter funciona sin problemas, al grabar la macro y ejecutarla me da un mensaje de error 1004. como puedo hacer para poner esta formula dentro de la macro y que esta la ejecute? copie este ejemplo pero no me ha funcionado para probar y hacer cambios pero no me ha funcionado Sub Macro2() Dim celda As Range ForEach celda In Range("B2:B12") celda.Select SendKeys "{F2}+{ENTER}", True Next celda EndSub[/CODE] mi formula es así de larga, favor su a…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Buenas noches a todos; Estoy trabajando en una herramienta que entre otras cosas debe realizar la siguiente tarea: Imaginad una carpeta un número indeterminado de archivos excel (100, 500 o 1000) y cada uno de esos archivos de excel tiene un contenido idéntico en todos, pues bien, la macro que necesito debe leer todos esos archivos y extraer: - el nombre del archivo. creando en una hoja una fila por cada nombre. - dado que todos los archivos tiene la misma estructura, necesitaría extraer de cada uno de ellos la misma información, por ejemplo todo el contenido de la celda a1 en todos los archivos, en la celda f14 en todos los archivos y que me los coloque seguidamente d…
-
0
Reacciones de usuarios
- 3 respuestas
- 714 visitas
-
-
Buen dia amigos nesecito crear una planilla de horas extras diurnas y nocturnas con programacion en vba cque se pueda leer con el lector de codigos de barras que al leer el codigo aparesca la hora de entrada y la hora de salida automatica la idea es que no se digite por que son varios empleados y que al final se saque un resumen de cada empleado relacionando las horas trabajadas en horas extras nocturnas y diurnas mil gracias ala persona que me pueda brindar la ayuda
-
0
Reacciones de usuarios
- 0 respuestas
- 999 visitas
-
-
tengo una formula matricial de 630 caracteres, al ejecutar la formula matricial a mano no tengo problemas, sin embargo al utilizar la grabadora de macros y ejecutarla me lanza el siguiente error. se ha producido el error '1004' en tiempo de ejecución: No se puede asignar la propiedad FormulaArray de la clase Range. habrá alguna forma de poder separar una formula matricial y asignarla a una variable, la cual si se cumple una condición ejecute esa parte de la función matricial y así sucesivamente. espero de su ayuda o si a alguien le ha pasado lo mismo y ha solucionado este problema me pueda decir como lo hizo.
-
0
Reacciones de usuarios
- 0 respuestas
- 954 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.