Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/18/2021 in all areas

  1. Hola pinoji, Tambien estoy aprendiendo y la ayuda que te dí, creeme lo aprendi aqui si tus primeras dudas ya se solucionaron, seria bueno que lo des por concluido y solucionado, y abras otro tema con tus otras consultas. eso ayuda a que otro foristas encuentren soluciones a sus casos y tambien ayuda a que otro foristas expertos nos puedan ayudar a resolver lo que necesitemos.. estamos en contacto
    3 points
  2. generador de datos aleatorios
    2 points
  3. Sergio

    QUE PASO EN EL FORO

    El inconveniente está solucionado desde hace unos días. Disculpa la molestia.
    2 points
  4. Sub crearHoja() Dim Hoja As String Hoja = "Benito" '<---------- Tu hoja nueva If ExisteHoja(Hoja) Then MsgBox "Ya existe la hoja " & Hoja, vbCritical Else Sheets.Add(After:=Sheets(Sheets.Count)).Name = Hoja MsgBox "Se ha creado la hoja " & Hoja, vbInformation End If End Sub Function ExisteHoja(Hoja As String) As Boolean For h = 1 To Sheets.Count If Sheets(h).Name = Hoja Then ExisteHoja = True Exit Function End If Next h End Function
    2 points
  5. Hola, La mejor forma es que cada usuario instale el Google Drive en cada PC. Luego usted comparte la carpeta con los archivos que quiere que los otros usuarios tengan. Sus cambios se suben al Drive y luego se sincronizan en los otros equipos. Cada usuario tiene los archivos en forma "Local" Consulte sobre el uso de Google Drive. Saludos.
    2 points
  6. Sub Desordenar() Application.ScreenUpdating = False Range("A:C").Copy Range("F:H") Columns("D").Clear x = Range("A" & Rows.Count).End(xlUp).Row filas = 2 Do Until filas > x fila = Int(Rnd * x) + 1 If fila > 1 Then If Range("D" & fila) = "" Then Range("D" & fila) = "x" Range("A" & fila).Resize(1, 3).Copy Range("F" & filas) filas = filas + 1 End If End If Loop Range("F:I").Cut Range("A:D") End Sub Peo mejor usar la macro de Gerson.
    2 points
  7. Hola! Tomando de base tu archivo, ahí te va esta versión Sub DesOrdenar() With Range("A2", Range("A1").End(xlDown)).Offset(, 3) .Formula = "=Rand()" Range("A1").Sort Range("D1"), xlAscending, , , , , , xlYes .ClearContents End With End Sub Saludos a ambos!
    2 points
  8. Me alegro mucho pero la forma de agradecer a quien te ayuda o intenta ayudar es mediante el corazoncillo que hay en la parte inferior derecha, un saludo
    2 points
  9. Sub Importar_Fichero() Dim Archivo As Variant Dim Examinar As Object '-- ChDir ThisWorkbook.Path Set Examinar = Application.FileDialog(msoFileDialogFilePicker) With Examinar .AllowMultiSelect = True .Title = "Seleccionar archivos a consolidar" If .Show = -1 Then Sheets("Hoja1").Range("A2:AO" & Rows.Count).ClearContents For Each Archivo In .SelectedItems ConsolidarArchivo Archivo Next Sheets("Hoja1").Activate MsgBox "Carga completada" End If End With End Sub '--------------- Private Sub ConsolidarArchivo(Archivo As Variant) Application.ScreenUpdating = False Application.StatusBar = Archivo With ThisWorkbook.Sheets("Hoja1") Fila = .Range("A" & Rows.Count).End(xlUp).Row + 1 Workbooks.Open Archivo Range("A2:AO" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Range("A" & Fila) End With Application.StatusBar = False ActiveWorkbook.Close End Sub
    2 points
  10. 2 points
  11. Sub CopiarMúltiple() Application.ScreenUpdating = False Range("C3:I7").Copy For x = 12 To 4998 Step 9 Range("C" & x).PasteSpecial xlPasteAll Next Application.CutCopyMode = False End Sub
    1 point
  12. Sub Concatenar() Dim fn As Long uFila = Range("H" & Cells.Rows.Count).End(xlUp).Row pFila = 1 For fila = pFila + 1 To uFila fn = Range("I" & fila) Range("O" & fila) = Range("H" & fila) & fn Next fila End Sub
    1 point
  13. Range("B2:B" & ActiveSheet.UsedRange.Rows.Count) = "DIGITAL"
    1 point
  14. Yo sigo investigando y contestándome solo Al final lo saco ya veras!!!!!!!!! Al parecer, es complicado el copiado y pegado de celdas con formato condicional, pero he encontrado un truco chapucero pero efectivo y consigo lo que necesito. He añadido el siguiente código y funciona!!!! Sub CompararCeldas() Sheets("Resultado").Select Rows("1:1").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("B2").Select Sheets("Resultado").Range("B2").AutoFilter Field:=2, Criteria1:=RGB(255, _ 199, 206), Operator:=xlFilterCellColor Range(Selection, Selection.End(xlDown)).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 10066431 .TintAndShade = 0 .PatternTintAndShade = 0 End With ActiveSheet.ShowAllData Columns("B:B").Select Selection.Copy Range("C1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Rows("1:1").Select Selection.Delete Shift:=xlUp Columns("A:B").Select Selection.Delete Shift:=xlToLeft Range("D8").Select Columns("A:A").EntireColumn.AutoFit End Sub Si lo termino mañana lo subo aquí mismo funcionando por si le puede ser de utilidad a alguien. Un saludo.
    1 point
  15. Yo no me preocuparía demasiado, es que además, para media docena de notas.....
    1 point
  16. En cuanto al funcionamiento, las he probado y ambas funcionan con texto y números Si aun no lo notas, mis 2 métodos, son dinámicos, es decir no importa la cantidad de filas y columnas a procesar, para unir las celdas, además que ignora automáticamente cualquier celda vacía Respecto a la aplicación que utilizo para mostrar una demo, se llama Licecap La función UNIRCADENAS la pude ver disponible en 2016, pero creo que MS por alguna razón la eliminó, solo esta en 365 y 2019 como posterior Saludos!
    1 point
  17. Sub EliminarColumnasNoChiclayo() Application.ScreenUpdating = False For y = Cells(2, Columns.Count).End(xlToLeft).Column To 3 Step -1 If Not Cells(2, y) Like "*Chiclayo*" Then Columns(y).Delete Next End Sub
    1 point
  18. Buenos Días. Ya está solucionado, no era problema de la macro, era un problema de configuración de las ultimas celdas.
    1 point
  19. Me alegro, pero no olvides agradecer a quien te ayuda o intenta ayudar, y en este foro es mediante el corazoncito que hay en la parte inferior derecha, un saludo
    1 point
  20. si, si ahora esta terminado , funciona de 10. muchas gracias amigo
    1 point
  21. Hola a ambos! Te adjunto otra alternativa En ella, he utilizado también Power Query para normalizar tu tabla, quedando de forma tabular, es decir para que el modelo de datos de Excel [Power Pivot], pueda calcularla con las funciones DAX En resumen lo que hice, normalizar tus datos [guardar esa consulta de PQ como conexion] y de una vez cargo esa tabla al modelo de datos [no a una hoja] Posterior a esto, realizo los cálculos utilizando funciones DAX, es un lenguaje analítico de expresiones de datos para nuestras tablas dinámicas [similar a utilizar funciones nativas de Excel] Si estos términos o tecnología es desconocida para ti, te recomiendo inicies su lectura e investigación y estudio, con esto pasaras al nivel de Excel moderno / avanzado Saludos! Analisis de porcentajes con Power Query y DAX_GP.xlsx
    1 point
  22. Hola, @Antoni al final lo conseguí ;). Directamente en la misma hoja y en la misma tabla. He modificado el código un poco: 'una vez que filtramos por C ejecuto la macro Sub OrdenarFiltro() Application.ScreenUpdating = False With Hoja1 .UsedRange.Sort Key1:=.Columns("C"), Key2:=.Columns("B"), Header:=xlYes .Select End With End Sub 'después quito el filtro y todo genial. Muchísimas gracias por la idea ;).
    1 point
  23. Abre el adjunto y pulsa la flecha azul. Esta es la macro. Sub OrdenarFiltro() Application.CopyObjectsWithCells = False '<-- Para no copiar las autoformas Application.ScreenUpdating = False With Hoja2 .UsedRange.Clear Hoja1.UsedRange.SpecialCells(xlCellTypeVisible).Copy .Cells .UsedRange.Sort Key1:=.Columns("C"), Key2:=.Columns("B"), Header:=xlYes .Select End With Application.CopyObjectsWithCells = True End Sub
    1 point
  24. ¿En el mismo rango? ¿En otro rango en la misma hoja? ¿En otra hoja? Lo más sencillo es la opción 3.
    1 point
  25. Aquí tienes el archivo, ya tienes operativos todos los botones. Si pulsas el botón pdf te genera una copia en formato pdf de la factura seleccionada en la carpeta informes, la cual se crea automáticamente en la misma ruta donde se encuentre tu archivo. Si pulsas Imprimir te imprime la factura seleccionada en tu impresora, para lo cual tienes que modificar lo siguiente en la siguiente macro. Sub ActivarImpresora() actPrnt = Application.ActivePrinter ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Brother MFC-L2710DW series", Collate:=True Application.ActivePrinter = actPrnt End Sub Cambia en esta línea el nombre de la impresora por el de la tuya. ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Brother MFC-L2710DW series", Collate:=True Si pulsas en Informes te genera un informe de todas tus facturas. Si pulsas en Eliminar Factura te borra la factura seleccionada. Facturación 26082021JSD.xlsm
    1 point
  26. Te dejo una UDF, úsala como fórmula o en una macro. Function ConvertirFecha(ByVal Fecha) As Variant ConvertirFecha = CDate(Replace(Fecha, ".", "/")) End Function La celda debe tener formato fecha (dd/mm/aaaa)
    1 point
  27. Gerson, perfecta la macro. Guay me encantó. Te lo agradezco muchísimo. Un abrazo 👍 👍 👍
    1 point
  28. 😂 😂 😂 Se me olvidó subir el archivo. MAleatorio.xlsm
    1 point
  29. Voy a "invocar" a un amigo @Gerson Pineda, tal vez le interesen las estadisticas de este tema. Me llama la atención que todos los sitios en internet siempre muestran las estadisticas acumuladas desde el "Inicio de los tiempos..." Sera que sumar todo desde que tenemos memoria... (memoria de estas estadisticas...) es mas llamativo que presentar algunos histogramas por mes... Tendriamos que ver nuevos gráficos donde se puedan comparar periodos iguales en especial por que ya hay bastante información. Saludos
    1 point
  30. Por alguna razón, ciertos errores se escapan a On Error, así te funcionará. Sub pruebaImg(): On Error Resume Next Sheets("Full2").Select Sheets("Full1").Shapes("Imagen1").Copy If Err.Number = 0 Then Range("c1").Select ActiveSheet.Paste End If Err.Number = 0 Sheets("Full1").Shapes("Imagen2").Copy If Err.Number = 0 Then Range("e1").Select ActiveSheet.Paste End If Err.Number = 0 Sheets("Full1").Shapes("Imagen3").Copy If Err.Number = 0 Then Range("i1").Select ActiveSheet.Paste End If Err.Number = 0 Sheets("Full1").Shapes("Imagen4").Copy If Err.Number = 0 Then Range("m1").Select ActiveSheet.Paste End If Err.Number = 0 Sheets("Full1").Shapes("Imagen5").Copy If Err.Number = 0 Then Range("r1").Select ActiveSheet.Paste End If End Sub
    1 point
  31. La pregunta formulada de otra manera: ¿Eres de un país europeo? Si es así, usas el sistema 2 de numeración de semanas. Si no es así, usas el sistema 1 de numeración de semanas. Salu2, Pedro Wave
    1 point
  32. ' Imprimir actPrnt = Application.ActivePrinter ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ ActivePrinter:="Brother MFC-L2710DW series (Copiar1)", _ Collate:=True Application.ActivePrinter = actPrnt He añadido esta parte al código, sustituye en esta línea el nombre de tu impresora ActivePrinter:="Brother MFC-L2710DW series (Copiar1)", _ prueba y comenta. Diseño2.xlsm
    1 point
  33. Prueba el adjunto. Con Power Query he anulado la dinamización de columnas para conseguir una tabla normalizada en la hoja 'TablaOrigen'. Esa tabla normalizada es el origen de datos de 3 tablas dinámicas en la hoja 'Tablas Dinámicas' TablaDinámica_Todo: con todas los valores y porcentajes por semana. TablaDinámica_10mejores: con los % de las 10 mejores semanas. TablaDinámica_PorcentajeSemanal: con los % de participación de cada día por semana. Los números de semana son ambiguos y no se puede establecer a priori a que mes corresponden. Excel admite 2 sistemas de conteo de números de semana (Ver enlace aquí): Sistema 1: La semana que contiene el 1 de enero es la primera semana del año y se numera como semana 1. Sistema 2: La semana que contiene el primer jueves del año es la primera semana del año y se numera como semana 1. Este sistema es la metodología especificada en ISO 8601, que generalmente se conoce como el sistema de numeración de semanas europeo. ¿Qué sistema has usado para generar la columna Semana? Salu2, Pedro Wave Ayuda tabla tabla dinamica PW1.xlsx
    1 point
  34. Te refieres que este mismo reporte te lo imprima en papel verdad?
    1 point
  35. Hola amigo no pude ver la última modificación, me infectó un virus toda la PC y perdí toda información de 20 años de trabajo así que estoy desesperado para ver si consigo recuperar algo , ya les contaré. Saludos cordiales
    1 point
  36. Sub OrigenToDestino() Sheets("origen").Range("A2:F" & Sheets("origen").Range("A" & Rows.Count).End(xlUp).Row).Copy _ Sheets("destino").Range("A" & Sheets("destino").Range("A" & Rows.Count).End(xlUp).Row + 1) End Sub
    1 point
  37. Set celda = Columns("D").Find(número, , ,xlWhole)
    1 point
  38. Prueba y comenta Diseño2.xlsm
    1 point
  39. @nickmartinez, si aún estás interesado en una solución, dame acceso a Google Drive o intenta adjuntar el archivo de nuevo... Salu2, Pedro Wave
    1 point
  40. @paulazoffoli creo que la cátedra de @GabrielRaigosa es una excelente opción, pero si insistes en tu formato puedes obtener la los promedios de cada SI/NO con la formula =CONTAR.SI(C4:C8;"NO"), =CONTAR.SI(C4:C8;"SI"), sumas el total con =CONTARA(C4:C8) y sacas el promedio, pero insisto la opción de Gabriel es mucho más acertada, Saludos,
    1 point
  41. Otra opción, con matrices dinámicas (Ms 365) Supervision HSTL - MS365.xlsx
    1 point
  42. Hola, Conoce el Power Query? Yo le que haria es cargar la tabla actual, transponer, agrupar y contar las preguntas. Y hacer una tabla dinámica. Copia de Supervision HSTL.xlsx
    1 point
  43. Si utilizas el nombre del objeto VBA debes hacerlo así: Hoja1.Range("A1")="Hola" Si quieres utilizar el nombre de la hoja debes utilizar el objeto Excel Sheets("Auxiliar").Range("A1")="Hola"
    1 point
  44. Hola, Adjunto nuevamante el archivo con una corrección en la extracción del "Ap. Paterno" Separar apellidos y nombre.xlsx
    1 point
  45. torquemada

    Juego Atrapa la Bola

    Hola Pedro. No había leido este mensaje. El juego está muy bien, lo he probado en la versión de excel 2016 64bits. clicando con el botón derecho, queda la hoja vacía, con una tabla. Saludos.
    1 point
  46. 1 point
  47. Jlmdesign

    sistema control vehicular

    Hola shahuinto!!! Muy bueno lo que hiciste con el SISTEMA EN EXCEL PARA CONTROLAR VEHÍCULOS (MANTENIMIENTO, COMBUSTIBLE Y CHOFERES). Me gustaria modificarlo para seguir aprendiendo. Y que posibilidades tengo?? Gracias Juan
    1 point
  48. Hola buenos días amigos de AE. Una consulta. tengo una macro que sirve para buscar hojas en un archivo. El código permite poner parte del nombre de la hoja y hace la búsqueda, pero me gustaría que NO respetara mayúscula o minúsculas. Por ejemplo en el archivo hay una ROJO, si coloco el nombre tal cual la encuentra pero si coloco rojo o Rojo no la encuentra. Se podrá lograr lo planteado? Gracias!!! BUSCAR NOMBRE DE HOJA.xlsm
    1 point
  49. Antoni

    Comparar dos hojas

    Hola a todos: Aquí os dejo un libro con dos formularios para comparar 2 hojas: Al abrir el libro, se presenta un menú con 2 opciones: 1ª Opción - ESCOGER HOJAS Al pulsar la flecha en rojo, se abrirá un formulario donde se pedirá la localización de las dos hojas a comparar. Se pueden compara hojas del mismo libro o de distinto libro. Al pulsar el botón "Comparar hojas", si todo está correcto, la hoja seleccionada como PRIMERA, se copiará en la hoja "Primera" de este libro, y la seleccionada en como SEGUNDA, se copiará a la hoja "Segunda". Se cierra el formulario, se activa la hoja "Primera", y se ejecuta el formulario COMPARAR HOJAS. Los libros utilizados para seleccionar las hojas, se utilizan solamente para copiar las hojas y una vez realizada la copia, se cierran y ya no vuelven a ser utilizados. 2ª Opción - COMPARAR HOJAS Al pulsar la flecha en rojo, se muestran las diferencias encontradas en la hoja Activa. Si la hoja activa es la hoja "Primera", se mostrarán las diferencias en esa misma hoja con respecto a la hoja "Segunda". Si la hoja activa es la hoja "Segunda", se mostrarán las diferencias en esa misma hoja con respecto a la hoja "Primera". Las diferencias, se muestran como comentarios en la celda. Se pueden buscar diferencias en datos y en formulas de forma independiente. Las diferencias, se muestran también en una lista ordenada por fila y columna, pulsando sobre el label de la cabecera de la lista, se invierte el orden columna/fila por fila/columna y viceversa. Pulsando sobre cualquier elemento de la lista, se seleccionará la celda con diferencias y se mostrará el comentario con el valor de la misma celda correspondiente a la otra hoja. Como siempre, se esperan comentarios y propuestas de mejora. Saludos. Antoni. DiferenciasEnHojas.zip
    1 point
  50. Antoni

    Comparar dos hojas

    Hola: La respuesta es si a ambas preguntas. Saludos.
    1 point
×
×
  • Create New...

Important Information

Privacy Policy