Saltar al contenido

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?

  1. Started by Pirtrafilla,

    Buenos días a todos. Necesito convertir una celda donde tengo una fecha en una cadena de caracteres. El problema es no quiero que elimine los 0 a la izquierda. Por ejemplo 01/07/2022 debería convertirse a 20220701, sin embargo solo consigo que se convierta en 202271. Este es el código simpe que he puesto y que luego lo he de adaptar con bucles y demás. La fecha la tengo en la celda B1 y he de convertirla en la celda B2 Sub fecha_inicio() anyo = Year(Sheets("Repsol").Range("B1")) mes = Month(Sheets("Repsol").Range("B1")) dia = Day(Sheets("Repsol").Range("B1")) Sheets("Repsol").Range("B2") = anyo & mes & dia End Sub Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 935 visitas
    • 1 seguidor
  2. Started by lphant,

    Buenos días; Me acaba de surgir un problema en la macro que estoy haciendo y por mas que lo he dado vueltas no he conseguido solucionarlo, a ver quién me puede echar una mano. Tengo varios datos que tengo que transformar en fecha los datos son como el siguiente " 18/04/13/ 0", primero reemplazo “/ 0” por nada y luego quito el espacio que tiene al principio, una vez realizado esos 2 pasos ya tiene el formato de fecha, si lo hago sin macro el Excel solo me pone “18/04/20132, pero si lo hago desde la macro se me queda así “18/04/13” y con el símbolo de error para que elija entre convertir en xx en 20xx o en xx en 19xx. Como podría hacerlo con una macro??. Muchas gracia…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.8k visitas
  3. Buenas noches, Necesito una ayudita. Tengo un archivo excel con una macro que convierte los datos introducidos en columna A y B en fechas cada vez que introduzco una fecha sin barras. Por ejemplo, si introduzco 020219(ddmmyy) me lo convierte en 02/02/2019 (dd/mm/yyyy) automaticamente. Solo lo convierte si introduzco los datos uno a uno. Necesito cambiar la configuración para que haga lo mismo pero solo si pincho en un botón de comando. Si no pulso ese botón no haga cambios Este es el código que utilizo con el metodo " Worksheet_Change" y Tarjet Private Sub Worksheet_Change(ByVal Target As Range) Dim rngData As Range Set rngData = Range("A2:…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
  4. Started by vissioner,

    Estimados, Soy nuevo en el foro, y necesito que me ayuden con el caso a continuación: Estaba desarrollando la formula condicional de mas abajo, y Excel (2010) me suministro un mensaje de error, pues su tamaño excedía lo que permite el formato en una sola celda. Entonces se me ocurrió que quizás a través de VBA (De lo que no se nada) pudiese hacerse lo mismo, sin la limitación de la celda de la hoja de calculo Formula: =IF(O:O="No Gestionado","Prospecto",IF(O:O="Llamado, No Contactado","Prospecto",IF(O:O="Enviado Invitacion a S.I. y/o Brochure Programas","Prospecto",IF(O:O="En Espera de Respuesta","Prospecto",IF(O:O="No Interesa MBA, Si otros Programas","Declinado",…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3k visitas
  5. Started by kagomagoo12,

    Que tal, he estado buscando en muchos foros pero no he logrado dar con lo que necesito nadamas sale el de convertir fecha en numeros. Lo que necesito es pasar los numeros de las horas y los minutos.. por ejemplo 02.40 = dos horas con cuarenta minutos Como es el codigo si alguien me puede ayudar.. Se los agradezco mucho

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3k visitas
  6. Started by ahortac,

    Hola tengo una macro que he utilizado correctamente antes desde windows, necesito abrirlo en MAC. Primero elimine todos los ActiveX controls para que funcione en mac y cambie algunos codigos. Ahora cuando trato de ejecutar el boton me sale error, es porque estoy usando RowSource el cual no funciona en mac. He probado distintos codigos sin exito. Este es el codigo del user form que tengo Private Sub UserForm_Initialize() Dim Uf As String Uf = Hoja3.Range("A" & Rows.Count).End(xlUp).Row ComboBox1.RowSource = "Registros!B2:B" & Uf End Sub Agradeceria si pueden ayudarme a cambiar este codigo sin alterar la …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.4k visitas
    • 1 seguidor
  7. Started by jeladio,

    Hola amigos: Tengo este código que convierte a texto el contenido numérico de la celda A2 en la celda A1, y todo funciona bien el problema es que deseo hacer lo mismo pero dentro del textbox1 ubicado en un formulario que esta en el ejemplo y no logro hacerlo hay alguna manera de hacerlo. adjunto ejemplo. saludos numeros a letras.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 4.2k visitas
  8. Started by Benito Bartolomé,

    Hola a todos; ¿Hay algún procedimiento o función que me convierta el numero de una columna a letra? Ejemplo: Private Sub btnColumna_Click() Dim tColumna As String Me.TextBox1 = 2 tColumna =Me.TextBox1 "??????" <-----Aquí me debería indicar la columna en formato texto End Sub Saludos y buen día a todos.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 6.9k visitas
  9. Buenos días colegas. Espero se encuentren con excelente salud. Hace quizás un par de días consultaba sobre la eliminación de caracteres "extraños" en un archivo y los profesores JSD y Antoni me dieron soluciones maravillosas, pero necesito otra ayuda de ustedes. He tratado de convertir los números en texto a números y no he podido lograrlo. Lo hice con la función Sustituir por si hubiera algunos espacios de más, con el Texto en columna, lo multiplique x 1, le sumé +0, lo trate con un ciclo For Each, creando una variable Celda de tipo Range y un condicional If/End if y nada. Por favor, si fuera tan amables de sugerirme algo que no haya probado. Agradecido c…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
    • 2 seguidores
  10. Started by Benito Bartolomé,

    Hola a todos; He estado viendo si hay alguna macro que pueda convertir un archivo a pdf a Excel. He encontrado algo pero necesita tener instalada una librería de adobe acrobat para que funcione. No se si conocéis alguna otra forma. Saludos. Adjunto la macro MPdf-Excel.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 7.5k visitas
    • 2 seguidores
  11. Buenas tardes gracias por este espacio. Solicito su ayuda para una macro que imprima solo las celdas que contienen datos. Tengo un botón que me ayuda a realizar un filtro avanzado y me trae los datos que quiero buscar, pero al realizar en el otro botón la impresión para paso a PDF me las convierte todas y solo quiero que se muestre en el PDF las que se consultaron. Tengo el siguiente código en el botón de impresión. pplication.ScreenUpdating = False If MsgBox("¿Desea Convertir a PDF?", vbQuestion + vbYesNo) = vbYes Then Dim HResumen As Worksheet Dim Ruta As String Dim Titulo As String Set HResumen = Worksheets("Resumen") …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 621 visitas
  12. Started by franjp,

    Buenas noches, Me gustaría que me ayudarais a hacer una macro que convirtiera varios rangos de numeración en una lista con esos rangos desglosados. Por ejemplo: Columna 1 Columna 2 23 28 45 49 ... Conversión: Columna 1 23 24 25 26 27 28 45 46 47 48 49 ... Muchas gracias por vuestra ayuda.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 786 visitas
  13. Started by marcosab,

    Hola a todos los del foro Requiero un favor de ustedes, con un macro que me convierta el dato de la columna D de la hoja TXT a número con dos decimales. Los números de esta columna todos ninguno tiene separador de decimales pero todos los últimos dos valores son decimales. macro.xlsm Ejemplo D2 = "60225700 debe ser 602,257.00" D3 = "16123300 debe ser 161,233.00" de antemano muchas gracias y espero alguno me pueda ayudar.

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2k visitas
    • 2 seguidores
  14. Started by pimoweb,

    Estimados, tengo el siguiente problema, quiero hacer filtro con una variedad de datos ( estos datos los quiero sacar de una tabla X, que pueden ser números tan diferentes como 4, 5060, 876, etc. como puedo hacer para introducir estos números en una variable y que se pueda filtrar por esta? he tratado simplemente con 1 numero y ni por eso me sale: Sub Macro1()Dim suma As Double Dim reparto As Double suma = 0 Range("P3").Select 'Range(Selection, Selection.End(xlDown)).Select Do While ActiveCell &lt;&gt; "" suma = suma + ActiveCell.Value ActiveCell.Offset(1, 0).Activate Loop reparto = suma * 0.016 Range("p1127").Value = reparto Ac…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.2k visitas
  15. Started by 6luishao6,

    Buenas tardes una consulta como puedo hacer una macro que al momento de ingresar estos datos (del 1 al 100) en la celda me convirtiera al dar enter automáticamente, entre los rangos de 1 a 5: En la hoja A1 coloco 50 pero automáticamente debiera aparecer 3, como esta en la descripción de abajo. De 1 punto a 11 puntos * 0,05 = 1 punto De 31 puntos a 49 puntos * 0,05 = 2 puntos DE 50 a 69 puntos *0,05 puntos = 3 puntos DE 70 puntos a 89 puntos *0,05 = 4 puntos DE 90 puntos a 100 *0,05 = 5 puntos La fórmula la tengo en una celda pero no hay espacio en mi hoja de impresión por eso deseo que haga esa conversión automáticamente al momento de i…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.4k visitas
  16. Started by ogrino,

    Buenas, alguien sabe como convertir un numero racional a notación decimal? Muchas gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 368 visitas
  17. Started by TEJANO,

    Estimados, buenas tardes/dias/noches, ante todo muchas gracias por tomarse la molestia de leer y/o responder, paso a explicar mi problema. Estoy tratando de armar una planilla que me facilite el trabajo, no tengo mucha idea de macros pero estoy leyendo y tratando de aprender. Tengo una planilla en la que debo cargar varios datos, muchos de ellos dependen de el tipo de trabajo que se realize, la planilla cuenta con varias hojas, una de ellas llamada "equipo", en esta hoja tengo un listado desplegable de "Tipo de trabajo" (solo 2 opciones, tengo pensado agregar una en blanco) necesito que cuando se seleccione cualquiera de estas opciones, se copie y pegue en la misma ho…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 828 visitas
  18. Buenos dias, hace mucho que no me dejaba caer por aquí y veo que seguís en plena forma.:chuncky: Mi intención es crear una macro con la que se pueda hacer una copia condicional de una serie de filas o registros que estan en "hoja1" y pegarlos (con formulas y todo) en hoja2, y que aparezcan como lista, uno debajo de otro. Na más y na menos. Un saludo y gracias :tranquillity: copiar datos condicionados en otra hoja.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  19. Started by Edvin Velazquez,

    He elaborado una tabla... y lo que necesito es que copie los datos filtrados de la columna que se seleccione en otra hoja, es decir, si el nombre de la condición es igual al de la columna, copie los datos de esta columna (sin incluir las celdas vacías) y los nombres de la primera columna. Datos en hoja datos Lo que se espera en hoja informes Adjunto el archivo para referencia... Saludos Libro1.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 584 visitas
  20. Buenas tardes, tengo la macro para Copia datos, abre otro libro pega datos, guarda y lo cierra, pero me falta lo que esta en rojo. Un saludo

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1.7k visitas
  21. Hola buenos dias estoy comenzando en la programacion de macros, pero aun no soy muy bueno por lo que trabajo con la opcion grabar de macro y en este caso la macro que grabe fue copiar el formato de una fila a otra lo cual me genero el siguiente codigo: Rows("6:6").Copy Rows("5:5").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False aunque cuando ejecuto la macro esta tiende a demorarse y he visto que es debido a esta parte de la grabacion, por lo cual me gustaria contar con su ayuda para poder hacer este codigo mas simple y que se ejecute mas rapido, gracias.

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 909 visitas
    • 1 seguidor
  22. Hola a todos quiero agradecerles lo excelente del foro y la gran ayuda que ofrecen a travez de su experiencia y los comentarios y aportes que dan. No soy muy experta en el manejo de copia y creación de hojas por medio de macros, he logrado solamente crear una copia en una hoja nueva, pero tambien pone las formulas y otros detalles que no deberian aparecer, tambien la hoja original de Datos no la logro ocultar de nuevo porque me da un error. Este es el macro que cree: Private Sub CopiaBaseDatos_Click() Sheets("Datos").Visible = xlSheetVisible ThisWorkbook.Worksheets("Datos").Copy Sheets("Datos").Visible = xlSheetVeryHidden End Sub [/CODE] Quisiera poder hacer…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.7k visitas
  23. Started by plm_info,

    Copia de tabla con diseño Hola: Soy nuevo en el foro y no sé si alguien me pude ayudar. Necesitaría poder copiar todos los datos de una hoja llamada BaseDatos con más o menos 2000 filas y que tiene un "Diseño inicial", a otra Hoja llamada Informe y que necesito que los datos estén según el "Diseño Final". Les adjunto el fichero por si me pueden ayudar. Muchas gracias de antemano. Pregunta.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 708 visitas
  24. Started by Gustavo Castiglione,

    Estimado lo que necesito es que cada informacion correspondiente a camion, generador y rampla, se copie en un libro que va a contener informacion por cada item y que se separe segun el codigo de cada uno EJ: si en la primera fila ingreso Camion: C1 Generador: G1 Rampla: R1 la informacion que esta en la planilla se vaya al libro camiones, hoja C1 y se copie. al libro Generador, hoja G1 y se copie y al libro Rampla, hoja R1 y se copie. tanto lo que esta diferenciado por color como la fecha..... ojala se entienda xD Control general.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 525 visitas
  25. Started by Benito Bartolomé,

    Hola a todos; -Adjunto macro contiene un "frm" con un "chek" y un botón. Lo que hace la macro es crear una copia de seguridad. En función de lo que tenga activado en el check la hace de una manera u otra. Activo: Guarda la copia de seguridad en un ruta predeterminada. No Activo: Nos pide la ruta para guardar. Pregunta: ¿Se puede depurar mejor el código o está bien así? Saludos y buen día a todos C.Seguridad.xlsm

    • 0

      Reacciones de usuarios

    • 17 respuestas
    • 2.6k 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.