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
-
Soy principiante y mi idea es realizar una hoja de cálculo con un botón que al darle click, actualice dos celdas en función de otras dos casillas. El código que escribí al botón es el siguiente: Dim h As Double Dim v As Double Dim t As Double Dim f As Double Private Sub CommandButton1_Click() h = Cell(5, 4).Value v = Cell(6, 4).Value t = 10 ^ (-0.95 * Log(v) + 0.0207 * h - 0.087) f = 1 / (2 * Pi() * t) Cell(7, 4).Value = t Cell(8, 4).Value = f End Sub Al compilar subraya la línea Private Sub CommandButton1_Click() y dice Error de compilación: Sub o Function no definido. Muchas por su ayuda de antemano
-
0
Reacciones de usuarios
- 3 respuestas
- 5k visitas
-
-
Hola que tal! buenas noches Estoy cargando una página "x" por medio de VBA para excel. Me gustaría conocer si la misma se ha cargado adecuadamente, en caso contrario volver a intentantarlo hasta que este al 100%. La mayoría de las veces la página web que intento cargar de alguna manera funciona bien y otras me manda a una pagina en blanco. ¿Cómo puedo conocer si la página esta correctamente cargada y no es una página mal cargada o incompleta? La marco es la siguiente: Sub Open() Dim oShell As Object Set oShell = CreateObject("Wscript.Shell") oShell.Run "https://ejemplo.gob.mx" End Sub[/CODE] Gracias por su atención.
-
0
Reacciones de usuarios
- 0 respuestas
- 1.2k visitas
-
-
Hola compañeros una ayuda Tengo las Siguientes Formulas en codigo: Set h1 = Sheets("Hoja1") j = "=SUMPRODUCT(--((R2C[-8]:RC[-8]&R2C[-7]:RC[-7]&R2C[-6]:RC[-6]&R2C[-5]:RC[-5]&R2C[-4]:RC[-4]&R2C[-3]:RC[-3]&R2C[-2]:RC[-2])=(RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]&RC[-3]&RC[-2])))" k = "=IFERROR(INDEX(INDIRECT(Range!R9C2),SMALL(IF(INDIRECT(Range!R3C2)=RC[-8],IF(INDIRECT(Range!R4C2)=RC[-7],IF(INDIRECT(Range!R2C2)=RC[-9],IF(INDIRECT(Range!R6C2)=RC[-5],IF(INDIRECT(Range!R7C2)=RC[-4],IF(INDIRECT(Range!R5C2)=RC[-6],IF(INDIRECT(Range!R8C2)=(VLOOKUP(RC[-3],Criterios!R1C11:R13C12,2,0)),ROW(INDIRECT(Range!R9C2))))))))),RC[-1])),"""")…
-
0
Reacciones de usuarios
- 2 respuestas
- 948 visitas
-
-
Hola buenas. Necesitaria crear una macro en una hoja distinta a las demas y que esta ejecute a las otras macros que hay en diferentes hojas del mismo libro. ejemplo: para unas macros con sus botones en hoja2,3,4 y desde hoja1 desde otro botón que se ejecuten las anteriores. Salud2.
-
0
Reacciones de usuarios
- 3 respuestas
- 632 visitas
-
-
Muy Buenas, bueno por molestarles una vez mas, ya que he tratado de realizar un Complemento(.xlam) que me permita ejecutar una macro en cualquier libro. En ocasiones anteriores dos personas me ayudaron con la duda que tenia(Cambiar color de celda - modificado). La cual consistía en cambiar de color una celda que modificara. Pero se lo podía realizar únicamente colocando el código en una hoja en concreto: Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.ColorIndex = 6 End Sub Pero deseo utilizar esta macro desde el complemento. En el he creado un Checkbox donde debería permitirme activar o desactivar dicha macro. Pero no lo he logrado, y es ahí dond…
-
0
Reacciones de usuarios
- 15 respuestas
- 3.2k 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, 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
-
-
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
- 505 visitas
-
-
Estimados Expertos. Estoy buscando un generador de codigos QR para Excel, he encontrado el programa StrokeScribe 4.1.4 que es muy bueno pero es de pago, tal vez ustedes dispongan de una macro que me permita generar codigos QR en excel. Agradezco de antemano vuestro apoyo. Jmollan
-
0
Reacciones de usuarios
- 7 respuestas
- 23.6k 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
- 671 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
- 632 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
- 666 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.1k 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
- 882 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
- 603 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
- 724 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
- 714 visitas
-
-
Hola amigos, actualemnte estoy tratando de crear una macro que pase datos de una hoja a otra de acuerdo a un criterio y este el nombre del encabezado de cada columna. por ejemplo de la hoja "origen " debo pasar todos ls datos de la columna que en la sprimeras celdas tiene el valor de "Codigo " y "Valor",sin embargo no sé como hacerlo. estos valores no siempre estaran en la columna A ni D, pueden variar de ubicación. mas o menos imagino, es que se deb tener un bucle que rrecorra las celdas desde la A1 hasta la ultima columna con datos que en este caso es D1) y buscar aquellas columnas que tengan en el encabezado los valores de "Codigo" y "Valores" espero que pued…
-
0
Reacciones de usuarios
- 16 respuestas
- 1.1k visitas
-
-
buenos dias amigos y amigas nuevamente recurro a ustedes con mi macro que gracias a macro antonio pude correrlo a la perfeccion pero ahora nuevamente necesito de su amable ayuda el problema es este en la macro que deje tengo un filtro que me arroja los resultados de los clientes que esten VENCIDOS esto es al darle click en clientes visitados, al aparecer el filtro te arroja en automatico todos los nombres vencidos y este a su vez al darle click en el mismo nombre se despliega otro filtro que te arroja LA PRIMER VISITA Y LA ULTIMA QUE ES LA FIRMA DE CONTRATO asi como las fechas de tales visitas lo que necesito es que saque los dias que se hizo desde la primera visita ha…
-
0
Reacciones de usuarios
- 2 respuestas
- 614 visitas
-
-
Hace un tiempo pedí ayuda para que me ayudaran a resolver un problema con una nomina realizada en excel, lo cual he resuelto por mi cuenta y les dejo el archivo para quienes deseen consultarlo, puede ayudarle a alguien, el código lo he tratado de reducir siempre más y más, ya que hacia uso de muchos (IF) cosa que elimine con los Case rompiendo los ciclos y casos, les dejo el archivo alojado en mediafire, para quienes gusten checarlo. Simple File Sharing and Storage. El archivo esta realizado con Macros por lo cual tendrán que activar las macros en excel, el código es accesible sin protección y confiable, puede alargarse para más empleados o acortarse, también se ha de p…
-
0
Reacciones de usuarios
- 4 respuestas
- 4.1k 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
-
-
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
- 680 visitas
-
-
Hola a todos en el foro, hace bastante tiempo me dieron esta macro aquí en el foro, la cual funciona bastante bien dentro de la plantilla que utilizo, pero, me gustaría hacer una pequeña modificación a la forma en la cual trabaja. La macro copia filas completas a nuevas hojas, basado en un criterio de búsqueda (Forma 1 o Forma 2) , el pequeño problema, es que si presiono el botón más de una vez, se copian los datos dos veces en la nueva hoja (quedan repetidos), lo cual es un problema para luego analizarlos. estoy usando excel 2007, en windows xp, adjunto un archivo comprimido con el fichero de muestra, la macro es la siguiente: Sub CopyForm1() Application.ScreenUpda…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.1k 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
- 897 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
- 788 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.