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
-
Buenas tardes a todos; He creado una macro con la grabadora para copiar columnas no contiguas y pegar los valores en una tabla que se encuentra en la misma hoja. Al pulsar sobre el botón "Copiar" se ejecuta la macro y muestra el resultado que me gustaría obtener. Un saludo para todos. Adjunto macro. MCopiarColumnas.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 1.7k visitas
- 1 seguidor
-
-
Hola: No soy capaz de sacar este macro, soy un poco novel con el tema, a ver si podeis ayudarme. Necesito copiar en una hoja nueva la misma fila n veces (siendo n la cantidad de unidades del producto comprado) y además dividir el total por la cantidad n (numero de unidades compradas para sacar el precio unitario) Os adjunto un fichero con dos hojas, la hoja albarán son los datos en bruto y la hoja Resultado Deseado como necesitaría que quedara. Muchisimas gracias por adelantado. SALIDA_albaran.xlsx
-
0
Reacciones de usuarios
- 1 respuesta
- 575 visitas
-
-
Buen dia comunidad. Necesito generar un conjunto de combinaciones formada por 03 números ALEATORIOS desde el (01 al 09) de forma ascendente. Que en su orden correlativo son 84 combinaciones desde el (1-2-3) hasta (7-8-9). Dentro del archivo se detalla más. Gracias.. 1.- CRT.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 849 visitas
-
-
Hola, soy nuevo en la comunidad y tengo el siguiente problema: Genere algunos formularios con MsgBox en Office365 en Windows OS 10, estos mensajes me aparecen delante de formulario y se ejecutan sin problemas, pero al momento de ejecutar el mismo documento en OS MAC todos los MsgBox aparecen detrás del formulario y debo correr el formulario hacia un lado para seleccionar la acción y seguir. Aplique el vbMsgBoxSetForeground dentro de la sintaxis, pero aun así persiste el incidente y esto solo pasa en MAC. Ejemplo de una configuración. Private Sub SalirA_Click() Dim Pregunta As String Pregunta = MsgBox("¿Desea salir?", vbYesNo + vbQuestion + vbMsgBoxSe…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola a todos. Tengo una serie de datos (4,872) que contienen cadenas de texto a los cuales hay que suprimir espacios intermedios. He intentado con las funciones Suprimir, Reemplazar y no lo he logrado. Igualmente. con la opción Buscar y reemplazar sin éxito. Las cadenas de texto tienen esta estructura: 00: 01: 04,600 --> 00: 01: 09,599 El espacio que hay que suprimir es el que se encuentra después de los dos puntos (:), es decir, que debe quedar así; 00:01:04,600 --> 00:01:09,599 Aspiro a que alguien me ayude con una macro que me permita hacer esta tarea y, para el efecto, adjunto un archivo con una muestra. Muchísimas gracias. FORMATO.xlsx
-
0
Reacciones de usuarios
- 2 respuestas
- 5.6k visitas
-
-
Buenos días a todos; -La consulta que hoy os planteo trata de lo siguiente: En el archivo que adjunto hay una macro (ctrl+h) que al pulsar combinación de teclas sale una ventanita emergente que me indica en una lista el número de hojas disponibles y al pulsar sobre una de la lista me lleva hacia esa hoja. Hasta aquí bien, lo me gustaría conseguir es que a parte de llevarme hacia esa hoja me mostrase un msgbox que yo configuraría y tendría que ser distinto para cada hoja. Adjunto macro. Saludos y buen día. MEmergente.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 4.2k visitas
-
-
Muy buenas, a ver si alguien puede ayudarme en la captura de datos en un userform, quisiera controlar la longitud de un campo, pero no se donde poner la instruccion, que he visto en uno de los hilos. Lo que tengo es esto: Private Sub CommandButton1_Click() Dim fila As Long 'Obtener la fila disponible fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1 'Insertar datos capturados Cells(fila, 1).Value = UserForm1.ComboBox1.Value Cells(fila, 2).Value = UserForm1.ComboBox3.Value Cells(fila, 3).Value = UserForm1.TextBox3.Value Cells(fila, 4).Value = UserForm1.TextBox4.Value Cells(fila, 5).Value = UserForm1.T…
-
0
Reacciones de usuarios
- 9 respuestas
- 1.6k visitas
-
-
Buenos dias, Quisiera modificar este diagrama de Gantt, la idea es poder añadir, ya sea con un sombreado los dias del calendario que usarémos para una tarea. En la captura indico lo que me interesa en la tarea 2. La suma de los dias sombreados seria en este ejemplo 13. Si añado mas dias pues se sumarian. Asi con todas las demas tareas. Es posible? Diagrama de Gantt.xlsx
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
- 1 seguidor
-
-
Buenas tardes. He colocado vsflexfrid7 en mi trabajo, he habiltoado los activex pero me sigue apareciendo el mensaje "Esta aplicacion va a iniciar controles Active x " y se me cierra el archivo. Tambie probe con eliminar todos los archivos temporales. Que mas puedo hacer? Garcias
-
0
Reacciones de usuarios
- 0 respuestas
- 963 visitas
-
-
Aviso que se cómo crear controles en tiempo de ejecución, con nombres específicos para cada uno de ellos; sin embargo quiero saber: Como crear en tiempo de ejecución, eventos en controles, creados también en tiempo de ejecución. Emplear el evento click y doble click a varios controles creados en tiempo de ejecución, específicamente en TextBox. Tengo otra duda es posible de alguna manera utilizar o crear el evento click derecho, veo que predeterminado está click izq, pero el click derecho nada.
-
0
Reacciones de usuarios
- 2 respuestas
- 2k visitas
-
-
Buenas tardes, he generado una plantilla en word para que al seleccionar una fila en excel los datos contenidos en ella se reemplacen en la plantilla, logro hacer que la primera fila llene completo y sin errores mi plantilla, pero al momento de exporar la segunda fila me aparece el error de "El parametro de la cadena es demasiado largo" Sub GenerarWordFila() ruta = ThisWorkbook.Path & "\Marksheet Template2.docx" Set objWord = CreateObject("Word.Application") objWord.Visible = True objWord.Documents.Add Template:=ruta, NewTemplate:=False, DocumentType:=0 For i = 2 To 42 busqueda = Hoja2.Range("D" & i).Text remplazar = Hoja2.Range("C" & i).Text W…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Hola Amigos, buenas tardes, es posible utilizar la misma sentencia (variables y cadenas guardadas en variables) en varias consultas que debo hacer , ya que imagino debo usar la misma sentencia en cada procedimiento que realice y ya intenté con declarar variables como Public pero no me deja. Estos código los fuí tomando del blog de @avalencia a quien agradezco por compartir https://abrahamexcel.blogspot.com/2019/04/excel-y-mysql-2.html es posible realizar lo que deseo? usar la misma conexión e ir variando en cada procedimiento prácticamente la consulta SQL así como los datos de la tabla donde voy a consultar. adjunto imagen! Gracias!!
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Hola buenas Tardes tengo este codigo y solo me funciona para poder seleccionar un archivo TXT, y cargarlo a una tabla en sql server , Me gustaria poder seleccionar varios archivos txt y poder insertarlos a la misma tabla este es el codigo que uso donde podria modificar. Public Function ImportTextFile(cnn As Object, _ ByVal tblName As String, _ Optional FieldDelimiter As String = "|", _ Optional RecordDelimiter As String = vbCrLf) As Boolean Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset Dim sFileContents As String Dim iFileNum As Long Dim sTableSplit() As String Dim sRecordSplit() As String Dim lCtr As Long Dim iCtr As Long Dim iFieldCtr As Lon…
-
0
Reacciones de usuarios
- 0 respuestas
- 743 visitas
-
-
Buenas, He buscado por el foro, pero no he encontrado una solución a mi problema. Seguro que es una tontería, pero no logro dar con ello. Tengo un documento de texto. Al filtrar para buscar una palabra, me la encuentra en varias líneas. Ahora necesito sacar parte de esas líneas. Ejemplo: Palabra a buscar: _palabra_ Línea encontrada: texto variable texto.variable_palabra_texto texto variable "12:39 15/04" texto variable Necesitaría el texto que precede a la palabra buscada (de longitud variable), desde el "." hasta "_", la fecha y la hora que están entre "". Luego ponerlo en columnas en una hoja de excel, pero en eso no ha…
-
0
Reacciones de usuarios
- 1 respuesta
- 981 visitas
-
-
Hola a todos. De nuevo por aquí pidiendo ayuda. Nos han cambiado las licencias de Office a Office 365. He revisado las macros y las que me fallan tienen que ver con las que envío correos automatizados. He podido arreglar todas, cambiando el código porque de Office 2013 a Office 365 cambia el código, se usa el objeto CDO.Message. Pero se me resiste esta macro, que envía un correo e incluye como parte del cuerpo del correo un rango de celdas donde hay un gráfico. Os pego el código para ver si me podéis ayudar. Después de la instrucción "ActiveWorkbook.EnvelopeVisible = True" el programa ya no ejecuta nada más. He probado con F8 paso a paso y ahí se detiene. Necesi…
-
0
Reacciones de usuarios
- 2 respuestas
- 2.2k visitas
- 1 seguidor
-
-
Buenas tardes tengan todos ustedes, sin encontrar una solución a mi problema hoy acudo a su apoyo. Tengo el siguiente código que me ayuda a seleccionar varios elementos de una lista desplegable: Private Sub Worksheet_Change(ByVal Target As Range) Dim I As Integer Dim xRgVal As Range Dim xStrNew As String Dim xStrOld As String Dim xFlag As Boolean Dim xArr Select Case Target.Column Case 7 On Error Resume Next Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation) If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub If Intersect(Target, xRgVal) Is Nothing Then Exit Sub Application.EnableEvents = False xFla…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.5k visitas
-
-
Hace unos días Antoni me resolvió un problema con un calendario flotante. He utilizado lo mismo en un programa TPV que estoy diseñando y me he estado volviendo loco; El problema que hay es que los botones están en un marco (frame). Aquí mando un archivo donde se ve el problema y no se como solucionarlo. En él van 6 botones; tres de ellos incrustados en un frame; y cuando trato de capturar los parámetros me da los del marco en lugar de los del botón. En los tres que están fuera del marco perfectamente. Help..... Acciones Cortas.xlsm
-
0
Reacciones de usuarios
- 4 respuestas
- 2.1k visitas
-
-
Buenas tardes expertos, tengo un problema con el formulario presisamente al momento de seleccionar el desplegable de la hora me muestra bien lista de hora pero cuando selecciones una de ellas se convierte en decimales. muchas gracias por ayuda , los adjunto el archivo. BASE DE DATOS GESTION HUMANA (SERTOCON24).xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 2.6k visitas
-
-
Hola ! Tengo un textbox control activex en una hoja porque no me deja añadirlo como control de formulario. Y cuanod abro el excel desde el webbrowser me sale este mensaje en el control y no me lo muestra. No se pueden mostrar de ninguna forma?
-
0
Reacciones de usuarios
- 2 respuestas
- 6.4k visitas
-
-
Estimados Espero estén bien de salud ante esta pandemia que nos azota En materia, me marca error de desbordamiento en VBA en la sentencia: dias = DateDiff(parametro, f1, f2) Donde dias es numerico, parametro es string con valor "d", f1 y f2 son tipo date y se obtienen de: f1 = Range("X" & fila).Value f2 = Range("N" & fila).Value donde esas celdas son de tipo fecha en excel Gracias de antemano por la ayuda
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Hola a Todos Espero estén muy bien junto a sus seres queridos. Favor su ayuda con lo siguiente: Tengo un problema con una planilla excel, desde hace un par de horas dejo de funcionar y cuando abro o cierro el libro me aparece el siguiente mensaje "No se puede encontrar el proyecto o la biblioteca". He buscado en el foro y red, pero no logro dar con una solucion. Segui lo siguiente: ALT + F11 > herramientas > referencias, pero al dar clic en referencias no pasa nada. Al dar ALT + F11, me aparece otro mensaje " No se encontro el modulo". Adjunto el libro. https://1drv.ms/x/s!Aiq68zQ4jy8ShKBFkgvTfFpeIdjmHQ?e=ctaaxx S…
-
0
Reacciones de usuarios
- 2 respuestas
- 2k visitas
-
-
Hola a todos; -Estoy intentando añadir una imagen a los ajustes de impresión y no la carga. No sé donde puede estar el error. Y una duda, ¿como puedo insertar una línea a lo ancho de la hoja?. Lo que tengo ahora mismo solo la inserta a la derecha, podría hacer lo mismo con left y center pero me deja un espacio en blanco y la línea no queda continua. Private Sub btn_Imprimir_Click(): On Error Resume Next With ActiveSheet.PageSetup .PrintArea = ActiveSheet.UsedRange.Address If IsNumeric(Me.TextBox1) Then .Zoom = CDbl(TextBox1) .CenterHeaderPicture.Filename = "C:\Users\Via Norte\Pictures\1.jpg" .RightFooter = "__________________________"…
-
0
Reacciones de usuarios
- 4 respuestas
- 2.1k visitas
-
-
Hola a todos Tengo una inquietud, he buscado por los foros en la web, pero no he encontrado algo similar. En el siguiente tema plantee una situación respecto de suma en tiempo real, y las respuestas fueron muy buenas. Mi idea es si se puede hacer lo mismo pero utilizando la opción de contar varios textbox de acuerdo a un criterio. Adjunto un libro con un formulario, si código, ya que no se por donde ir. Las variables a contar serian "V", "F". Saludos Cordiales Pedro Venegas contarsi textbox.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 1.7k visitas
-
-
Saludos a todos, es mi primera consulta en el foro. Se trata del siguiente problema: ejecuto el código de un programa sin problema durante todo el tiempo. En un momento dado, al abrir el programa no puedo ejecutarlo. Intento ver el código y aparecen en blanco TODAS las pantallas en las que debería estar visible. He compilado el programa en otro ordenador y sigue con el mismo problema. El problema es grave ya que tengo que recurrir a una copia de seguridad anterior y rehacerlo de nuevo. Agradecería cualquier sugerencia que me ayude a solucionar este problema tan potencialmente peligroso. Muchas gracias. Fernando Cantón
-
0
Reacciones de usuarios
- 0 respuestas
- 814 visitas
-
-
Hola Estimados, pido Disculpas por el Titulo del tema, vi que ya estaba con anterioridad, pero bloqueado, lo que quiero saber es que si hay alguna manera de que al ejecutar la macro en la hoja protegida me aparezca en la cinta de opciones habilitados la fuente el tipo de letra combinar celdas entre otros, ya que al ejecutar la macro aparecen todas esas opciones bloqueadas. adjunto archivo e imagen foro.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 4.2k 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.