Jump to content

bigpetroman

Members
  • Content Count

    2,151
  • Joined

  • Last visited

  • Days Won

    82

Everything posted by bigpetroman

  1. Saludos @Alonso Ojeda, algo sencillo que te puede servir, cada vez que actives la hoja se mostrara la informacion Suerte Permisolog.xlsm
  2. @jose_luisc esta sería la formula del archivo que subiste, simplemente un SI anidado, si F es mayor, coloca SUBE, SI F es menor, coloca BAJA, sino, coloca "" (nada, vacio) =SI(F11>H11;"SUBE";SI(F11<H11;"BAJA";""))
  3. Saludos amigos, muy interesante el tema y los comentarios; personalmente soy de usar siempre VBA, pero últimamente he comenzado a usar PQ y de verdad que es muy interesante y ayuda increíblemente sin necesidad de saber programar, muy bueno de verdad
  4. Saludos amigo, lo mejor que logre hacer está en el archivo anexo, le elimine muchas filas para poder subirlo, simplemente completa los datos de las columna A:F (los 6 mil y algo de datos a comparar) y de la K:P (En esta van los 750 mil registros). con las pruebas que realice (hasta 10 mil registros en K:P), la mejor espectativa son 107 minutos x los 750 mil registros, con esto te ahorrarias mas del 50% del tiempo, que segun tu indicas, es de mas o menos 250 minutos x los 750 mil registros; puedes hacer pruebas colocando el total de filas a procesar en la celda W2, si colocas 0 procesa todos los registros de una vez suerte Contar prueba Final.xlsm
  5. @aaquino, espero que hayas podido regresar a la oficina y hacer las pruebas, suerte
  6. Saludos @aaquino, revisa el anexo en las PC que dices que tienes problemas Yo creo que el problema son los objetos incrustados (los botones y la lista de abajo), yo desde hace años que trato de no usarlos ya que me han dado muchos problemas cuando hay cambios de versiones de Excel, los usos cuando es estrictamente necesario, del resto no prueba a ver, yo los cambie por unas simples imagenes y le asigne una macro InterAction - Ingreso de oportunidades.xlsm
  7. @aaquino creo que con esto sería suficiente If Hoja1.Range("B" & i).Value = "" And (i < 13 Or i > 15) Then cuando evalue las lineas 13, 14 y 15 pues NO las considera, tengan o no datos. suerte
  8. Saludos @howling, como dice el amigo @Antoni, sin libro es complicado saber realmente lo que se necesita, creo que esto pudiera ayudarte, sustituyes la linea Target.Offset(0, 1).Resize(1, 12).Copy por esta otra Range("C" & Target.Row & ",E" & Target.Row & ",G" & Target.Row & ",I" & Target.Row & ",K" & Target.Row & ",M" & Target.Row).Copy Suerte, si no es asi, pues sería cuestion de que subas tu archivo con un ejemplo
  9. Saludos amigo @eugeniocol realmente es complicado todo este proceso son muchos registros a procesar, cualquier solucion va a tardar bastante, realice algunas pruebas y la mejor estimacion es que tarde alrededor de 17 minutos por tabla. tienes que procesar 7 mil filas 150 mil veces cada una (1.050.000.000 de evaluaciones x tabla), no se, suponiendo que el equipo tarje una millonesima de segundo en cada evaluacion, serian 1050 segundo, que serian 17 minutos mas o menos. tambien intente realizando un filtrado para dejar solo los posibles candidatos (donde el menor numero de la fila a evaluar, iniciara como maximo en el tercer campo del registro evaluado), con esto se pudiera recudir considerablemente los candidatos en cada una de las evaluaciones, en vez de evaluar 150 mil registros, tal vez solo se evaluan 56000 o mas o menos; al final eso también lograria reducir el tiempo total. bueno, al final no termine nada, solo haciendo pruebas, si tengo tiempo en estos dias lo reviso nuevamente, sino, esperemos a ver si alguien mas tiene una mejor idea, suerte
  10. amigo @eugeniocol revisa el anexo, yo duplique los bloques hasta 10 filas y lo realizo en 30 segundo mas o menos cualquier problema subes un archivo con mas datos unas 100 lineas, que den diferentes resultados y así hacer mas pruebas Foro CONTAR COINCIDENCIAS_2.xlsm
  11. amigo @eugeniocol intente ayudar, pero de verdad que no entiendo realmente que es lo que hace, por favor explica mejor exactamente que buscas y coloca los resultados de una par de ejemplo. en lo que describes, los dos rangos que dices (están en verde) yo veo que coinciden 6 números y no 4 como comentas, entonces no entiendo suerte
  12. amigo @eugeniocol, revisa el anexo, coloque dos formas de hacerlo, hay muchas formas de hacerlo, pero la forma como esta en tu macro, pues es la peor jejeje, suerte Foro copia con criterio.xlsm
  13. Revisa, se va copiando los datos en la hoja, otra hoja pares.xlsm
  14. Saludos @MAURO_1512 revisa el archivo, le realice unas modificaciones, el codigo NO es que falla, pues si NO explicas todo lo que necesitas y los pormenores, pues solo queda adivinar si la fecha está vacia, evalua toda la columna, sino, solo las filas que coincidan con la fecha suerte pares.xlsm
  15. Saludos @MAURO_1512, el siguiente código hace lo que necesitas Sub Procesar() Dim nFilFin As Double Dim rCelda As Range Dim n As Integer Dim sTexto As String Dim nCol As Double Dim nFil As Double Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlCalculationManual nFilFin = Range("A" & Rows.Count).End(xlUp).Row For Each rCelda In Range("A2:A" & nFilFin) For n = 1 To Len(rCelda.Value) sTexto = Replace(rCelda.Value, Mid(rCelda, n, 1), "") If Len(sTexto) <= (Len(rCelda.Value) - 2) Then nCol = CDbl(Mid(rCelda, n, 1)) nFil = Range("A" & Rows.Count).Offset(0, nCol + 1).End(xlUp).Row + 1 Range("A1").Offset(nFil - 1, nCol + 1).Value = CDbl(sTexto) Exit For End If Next n Next Application.EnableEvents = True Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub
  16. Muchas gracias @digitalboy, efectivamente si trae el valor, yo intente algo parecido con el objeto "MSXML2.XMLHTTP", pero no me funciono, la propiedad .title siempre está vacia Sub Valor_preev_new() Dim sResponse As String Dim HTML As New HTMLDocument With CreateObject("MSXML2.XMLHTTP") .Open "GET", "http://preev.com/btc/usd", False .send sResponse = .responseText End With With HTML .body.innerHTML = sResponse Debug.Print .Title 'SIEMPRE ESTA VACIO End With End Sub Al final lo realice de dos maneras, una como dice el amigo @José_Santos. usando la URL: http://preev.com/pulse/units:btc+usd/sources:bitstamp+kraken tomo 10 los valores seguidos en intervalos de 2 segundos y saco el promedio (los valores rara vez son iguales al mostrado en la página) y la otra forma, que sí da el valor practicamente igual al de la página preev.com fue tomando los valores de bitstamp y kraken de otra página (por ejemplo "https://es.investing.com/crypto/bitcoin/btc-usd") y hacer el promedio, al final es la forma que se está usando. la del amigo @digitalboy es una buena opción, lo que no me gusta es la carga de IE, pero bueno Gracias a todos
  17. Gracias, vere si logro hacer algo usando la URL que indicas, pense inicialmente que seria el valor promedio de ambos valores, pero NO da el mismo valor que muestra la página, seguire indagando a ver si lo logro. por lo general, la forma que lo hacia yo era obteniendo el campo por su ID o por el classname y luego simplemente leo su contenido, pero con este campo no me funciona,
  18. Gracias por el Interes, el valor que deseo obtener es el que muestra en segundo cuadro de texto, que es el valor del BTC
  19. Saludos amigos, anteriormente yo he realizado Web Scraping obteniendo valores de tablas y esas cosas, hoy estoy intentando con esta simple página http://preev.com/ que me muestra el valor del BTC, y pues no logro obtener ese valor, si alguien puede echar una mano gracias
  20. Saludos @julayala, revisa el anexo Suerte CRM Clientes de Santa Ana.xlsx
  21. nota: el * debes colocarlo al inicio, ejemplo *1-1 (para indicar que gano el local por penales) o al final 1-1* para indicar que gano el visitante por penales suerte
  22. Buenas tardes, amigo @puntoyclick, revisa el anexo, realice un pequeño ajuste en tu archivo, creo que es lo que quieres Suerte plantilla-excel-generar-tabla-de-posiciones-calendario-liga - copia.rar
  23. Saludos @KAITEKI, vi tu tema y tenia ganas de revisar y ver en que ayudar, pero buscando en el foro hay varios BINGOS interesantes, deberias darte una vuelta por ellos y revisar, pudieras usar uno de ellos o mejorar el tuyo, y luego pedir si te trabas en algo, uno de ellos te lleva a esta página, en el botón de excel tienes el bingo completo http://www.vicenteleon.es/ suerte
  24. Sip, eso mismo, cambias ese numero por la columna correspondiente, me alegra que te funcione
  25. amigo @alvaro271194, sin datos es dificil comprobar si algo funciona o no, igualmente siempre es necesario colocar un ejemplo, sin embargo creo que esto hace lo que necesitas Sub DE1A20MOV() Dim n As Integer Dim j As Integer Application.DisplayAlerts = False On Error Resume Next For j = 6 To 44 Step 2 For n = 6 To j Step 2 Range("A1").AutoFilter n, , xlFilterValues, Array(0, "12/31/2017", 0, "12/31/2016") Next n With Range("A1") .AutoFilter j + 1, "=", xlAnd Range(Cells(Rows.Count, .Column).End(xlUp), Cells(.Row + 1, Columns.Count).End(xlToLeft)).SpecialCells(12).Delete .AutoFilter End With Next j On Error GoTo 0 Application.DisplayAlerts = True End Sub Suerte, lo que realice fue simplemente RESUMIR tu macro, sin embargo seria cuestion de ver los datos y analizar si se puede hacer de otra manera
×
×
  • Create New...

Important Information

Privacy Policy