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?
8685 temas en este foro
-
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
-
-
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
- 5.2k 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
- 688 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
- 1.1k visitas
-
-
hola buenos dias quisiera saber si me podrian ayudar con esta orden de compra en la hoja1(DIARIO) del libro BASE DE DATOS , la idea es que por medio de un macro se pueda compiar los escrito en el DIARIO a la base de datos. dejare un ejemplo esperando contar con su ayuda de antemano muchas gracias orden de compra.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 724 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
- 3k 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
- 754 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
- 564 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
- 670 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
- 721 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
- 658 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
- 965 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
- 731 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
- 1k 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
- 802 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
- 776 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.4k 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.2k 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
- 731 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
- 953 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
- 767 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
- 876 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 = "username@server.com" '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.8k 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.8k 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.