Jump to content

roa30

Members
  • Posts

    107
  • Joined

  • Last visited

  • Country

    Argentina

About roa30

  • Birthday October 30

Profile information

  • Gender
    Mujer
  • Localización:
    Argentina

Converted

  • Campos
    ;
  • Mi versión de Excel:
    0

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

roa30's Achievements

  1. Hola Antoni, como estas? perdon recientemente he visto tu respuesta, he tenido un accidente domestico, y recien hace una semana volvi a mi hogar, tuve que permanecer en terapia todo este tiempo. Lo he probado y funciona de lujo. Te agradezco mucho la ayuda
  2. Hola Abraham, gracias por tomarte tu tiempo en leerlo.. >> ¿Te refieres a que esos encabezados de columnas pueden ser más o a otra cosa? me referia a que puede venir esas colunmas o algunas mas no se por ejemplo unas 10 o 15 extras... >> ¿Siempre estarán en la fila 1? Si los encabezados siempre estan en la fila 1 >> ¿Siempre comienzan en la columna B? Lo mostre como un ejemplo de que puede llegar a venir una columna sin nombre de encabeZado >> Si como comentas, hay alguna columna vacía entre llenas ¿Qué se supone se debe hacer y/o qué debe ocurrir con tu array? Indicar como "" o esa posicion del array, donde no haya nombre de encabezado en este caso la posicion 0 deberia tener el valor 0 o empty. >> ¿Para qué necesitas el array? Necesito almancerlo en una variable, con la que luego hago un filtro avanzado, donde me traigo de otra hoja, las dos datos que coincidan con los elementos de mi array. Lo que necesito llegar a obtender de una manera mas dinamica es esto: mis encabezados= ("encabezado1", " encabezado 2" , etc etc, )
  3. Hola a todos buenos dias, estoy tratando de encontrar una forma optima de traerme todos los nombres de una columna y convertirlos a una array, para almacenarlos en una variable... actualmente estoy copiando, pegando y trasponiendo, los datos, luego los concateno y los agrego ahi recien a la variable. esta accion es totalmente manual, hecha con la grabadora de macros, ...existe otra forma de poder hacerlo? lo que me interesa es traerme los nombres de los encabezados de las columnas y traerlos a un variable como arreglo, o array, pero lo que necesito tener en cuenta es que me vienen muchos archivos y no siempre tienen las colunmas el mismo orden, y a veces tambien puede venir alguna con el nombre vacio, pueden venir mas o menos columnas, por eso se que esta version creada con la grabadora no es util para nada, como podria hacer para recorrer todas las colunmas traerme los nombres o encabezados y convertilos a un array? les adjunto el archivo como ejemplo Libro1.xlsm
  4. Hola a todos buenos dias, estoy tratando de encontrar una forma optima de traerme todos los nombres de una columna y convertirlos a una array,  para almacenarlos en una variable...

    actualmente estoy copiando, pegando y trasponiendo, los datos, luego los concateno y los agrego ahi recien a la variable.

    esta accion es totalmente manual, hecha con la grabadora de macros, ...existe otra forma de poder hacerlo?

    lo que me interesa es traerme los nombres de los encabezados de las columnas y traerlos a un variable como arreglo, o array, pero lo que necesito tener en cuenta es que me vienen muchos archivos y no siempre tienen las colunmas el mismo orden, y a veces tambien puede venir alguna con el nombre vacio, pueden venir mas o menos columnas, por eso se que esta version creada con la grabadora no es util para nada, 

     

    como podria hacer para recorrer todas las colunmas traerme los nombres o encabezados y convertilos a un array?

     

    les adjunto el archivo como ejemplo

     

     

    Libro1.xlsx

  5. Gracias Antoni tambien por tu ayuda, funciona super y ademas lo puedo usa de referencia cuando me trabo en estos pasos! muchisimas gracias
  6. Hola Hector Miguel como estas? buen dia gracias re gracias por el aporte , no no es una union, del campo de la columna fecha con el de hora, para hacer posteriormente un analisis con la fila siguiente del lapso de tiempo transcurrido entre esa fila y la fila siguiente
  7. Hola a todos, estoy nuevamente trabada en algo que pareciera facil pero me ha estado complicando la vida absoluta... tengo el siguiente codigo, que lo que DEBERIA HACER, es por cada celda que este vacia "celda.Offset(0, 36)= empty" me ejecute = hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5). Lo unico que LOGRE es que me haga esa funcion en la ultima fila... no se como hacerlo para cada celda vacia 😭. Porque la idea es que la hoja se va a ir cargando con nuevos valores, y las celdas que estan vacias significa que aun no hice el proceso fechaJuliana...Perdonen mi igorancia total pero probe varias formulas. y la unica que me ha funcionado parcialmente es esta... me pueden iluminar en algo que no este viendo.... ' ESTE ES EL CODIGO QUE ESTOY EJECUTANDO O INTENTADO EJECUTAR-------------- Sub fechaJuliana() Dim hD As Worksheet Dim ufo As Range Dim celda As Range Set hD = Sheets("registros") ufo = hD.Range("A" & Rows.Count).End(xlUp).Row For Each celda In hD.Range("A2:A" & ufo) If celda.Offset(0, 36) = Empty Then hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5) End If Next celda End Sub
  8. ahora siiii, creo que la voy entendiendo de poco, despues de cambiar miles d eveces el orden y los paramentros.... jajaja Function getDate(cadena As String, tipo As String) As String: Dim sep As String, x As Long, tmp As String, a, m, d 'If tipo = ".jpg" Then sep = "_" Else sep = "_" ====> esto lo comente porque no se como cambiarlo por ahora 'x = 2 + (tipo <> ".jpg"): tmp = Replace(Split(cadena, sep)(x), "-", ""): d = Val(Left(tmp, 2)): m = Val(Mid(tmp, 3, 2)): a = Val("20" & Right(tmp, 2)) sep = "_" x = 2 + (tipo = ".jpg"): tmp = Replace(Split(cadena, sep)(x), "-", ""): a = Val(Left(tmp, 2)): m = Val(Mid(tmp, 3, 2)): d = Val(Right(tmp, 2)) getDate = Format(DateSerial(a, m, d), "dd-mm-yyyy"): End Function Function getByCol(cadena As String, col As Long, Optional sep As String = "_") As String getByCol = Application.Trim(Split(CStr(cadena), sep)(col - 1)): End Function no son nada faciles las UDF , pero bueno probando probando tendre que lograr algo...
  9. Hola Hector Miguel, buen dia ! me da mucha verguenza lo que voy a preguntar y disculpa de antemano mi total ignorancia con las UDF , hemos tenido hace un rato una reunion con los colaboradores para probar la herramienta, sin el formulario todavia, y bueno nos hemos encontrado, con diferentes metodos de etiquetado, uno que separaba las etiquetas por espacios sobre todo la de jpg , y otra que separaba con "_" como los videos. Contandoles todo lo que ha costado lograr que se lean los tags de video, decidimos unificar el separador para archivos de video y jpg, usaremos a partir de ahora siempre "_" el de espacios, veremos como , pero vamos a tener que buscar luego la forma de renombrar... quise no molestarte nuevamente con esa tontera y modificarlo en la udf pero no me da ! que verguenza y me siento pesima por molestarte de nuevo: mira aqui hice dos pruebas, : en blanco: las celdas sin cambiar la configuracion de la UDF con el sistema de etiquetado separando por "_" en amarrillo: las celdas cuando cambie la configuracion de la UDF aqui, que fue lo unico que me anime a tocar... pero como pueder ver en la hoja, me da mal la fecha y no se porque, y la hora no me trae directamente... en rojo : los archivos de video que si me trae bien los datos de fecha y hora unction getDate(cadena As String, tipo As String) As String: Dim sep As String, x As Long, tmp As String, a, m, d If tipo = ".jpg" Then sep = "_" Else sep = "_" ' AQUI REEMPLACE EL se= " " por sep="_" x = 2 + (tipo <> ".jpg"): tmp = Replace(Split(cadena, sep)(x), "-", ""): d = Val(Left(tmp, 2)): m = Val(Mid(tmp, 3, 2)): a = Val("20" & Right(tmp, 2)) getDate = Format(DateSerial(a, m, d), "dd-mm-yyyy"): End Function Por otro lado te comento que esto: - jpg = "a.sitio|pni; abierto; b.estacion|abierto; c.especie|desinstalando" <= punto y coma era solo un error en esa carpeta en particular pero que ya lo hemos corregido.
  10. genio total!!!! admiracion! ahora sii, lo unico que cambie segun tu sugerencia es puse directamente en c:\windows y funciona! Pero lo que mas me sorprende son las pocas lineas de codigo que haz usado para lograrlo... woww! admiro totalmente ese codigo, aunque me cueste trabajo comprenderlo porque es de otro nivel muy muy lejano y superior al mio ...voy a estudiar y leer todo lo necesario para comprenderlo y seguir aprendiendo... tienes razon, ahora que lo pienso, primero se extraen las imagenes o archivos de una sd, luego se etiquetan y se guardan en una carpeta. y no si va a ocurrir que se modifiquen los archivos... asi que quizas esto no sea necesario... Perfecto, lo voy a tener en cuenta y de hecho si hay que renombrar alguna carpeta para evitar el quiebre lo hago, no hay problema, con todo lo que ha costado esto, no es nada cambiar o renombrar una carpeta... asi que igualmente lo tendre en cuenta de aqui en adelante por supuesto! con toda la ayuda que me haz brindado no voy a molestarte con este detalle... Esta realmente increible! no se como agradecerte tanta tanta ayuda, y que hayas podido hacer algo que parecia imposible! No se como agradecerte realmente, pero estare siempre a disposicion desde lo que pueda ayudar con mi limitado conocimiento.. Ni bien termine la integracion al formulario, prometo mostrarte los resultados! Gracias , gracias y mas gracias
  11. estimado, te comento mis tropiezos... 1) al bajarlo inicialmente me daba un error de que no podia ejecutarse la aplicacion, luego vi que necesitaba instalar el complemento Add-in y posteriormete resolvi el problema de el error al iniciar.. 2) el archivo es mas rapido que la luz jajaja proceso 600 imagenes en segundos... y super bien acomodo las colunmas en el excel... PERO no me ha leido las etiquetas ni de los .avi ni de los videos mp4, me estara faltando alguna configuracion adicional? para ahorrarme nuevamente la verguenza... he chequeado que los dos archivos de video tienen etiquetas colocadas correctamente Lo estoy ejecutando desde el modulo, con el procedimiento ProcesarImagenesEnCarpeta... pero no logro entender que parte me estaria faltando o porque no me hace esa busqueda... a ti te funcionaba bien?
  12. Hola Héctor Miguel!! wowww increíble que lo hayas logrado...admiración total!!!! ya ya mismo lo pruebo y te comento!
  13. tienes toda la razon Antoni, no me habia dado cuenta de ello. Muchisimas gracias lo tendre en cuenta de ahora en mas. porque es cierto quizas en el momento funciona, pero al cambiar de hoja activa va a generar un error..
  14. 😮 que buen dato Antoni, mil gracias... por eso me parecia que estaba loca porque en otro formulario si me funcionaba el mismo codigo... pero en este no... y no entendia porque si era exactamente igual. El punto es que en el otro formulario el rango es una lista de nombres no hay formulas aplicadas alli ... igual ni me hubiera imaginado que era eso.!!!😬 tu sabes que en el otro formulario tengo tambien asi: "With Sheets("BDCapturasMuertos").Range("A2:A" & ufila) Set filaseleccionada = Range("A2:A" & ufila).Find(valor_buscado, LookAt:=xlWhole) Sin el "." antes del range y funciona igual... pero por las dudas que se rompa en algun momento lo voy a corregir ahi tambien.. Pense que excel se estaba enseñando conmigo, porque ultimamente los codigos que siempre uso, en el algun punto se me rompen y no logro detectar porque... Muchisimas gracias Antoni por iluminarme la vista!
  15. Private Sub ListadeBusqueda_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Me.ListadeBusqueda.ListIndex <> -1 Then CIdAutomatico = ListadeBusqueda.Column(0) 'A CProvincia = ListadeBusqueda.Column(1) 'D CEspecie = ListadeBusqueda.Column(2) 'N CTipodeRegistro = ListadeBusqueda.Column(3) 'K CMotivo = ListadeBusqueda.Column(4) 'L CSitio = ListadeBusqueda.Column(5) 'E valor_buscado = Me.CIdAutomatico.Value ufila = Sheets("BDCapturasMuertos").Range("A" & Rows.Count).End(xlUp).row With Sheets("BDCapturasMuertos").Range("A2:A" & ufila) Set filaseleccionada = Range("A2:A" & ufila).Find(valor_buscado, LookAt:=xlWhole) lineanueva = filaseleccionada.row CPAIS.Value = .Range("C" & linea) ' ME PAIS If ECapturasoMuertos.CPAIS = "" Then CPAIS.AddItem ("Argentina") CPAIS.AddItem ("Brasil") CPAIS.AddItem ("Paraguay") CPAIS.AddItem ("Chile") CPAIS.AddItem ("Uruguay") End If CProvincia.Value = .Range("D" & linea) ' ME PAIS If CProvincia = "" Then Set provincia = Worksheets("Variables").Range("F2:F26") For Each celda In provincia CProvincia.AddItem celda.Value Next celda End If CRuta.Value = .Range("F" & linea) Ckm.Value = .Range("G" & linea) CLatitud.Value = .Range("H" & linea) CLongitud.Value = .Range("I" & linea) Cfecharesgitro.Value = .Range("J" & linea) CDestino.Value = .Range("M" & linea) CnroIndividuos.Value = .Range("O" & linea) CMuestras.Value = .Range("P" & linea) If CMuestras = "" Then CMuestras.AddItem ("Si") CMuestras.AddItem ("No") End If CFotos.Value = .Range("Q" & linea) If CFotos = "" Then CFotos.AddItem ("Si") CFotos.AddItem ("No") End If CSexo.Value = .Range("R" & linea) If CSexo = "" Then CSexo.AddItem ("Hembra") CSexo.AddItem ("Macho") CSexo.AddItem ("Desconocido") End If CEdad.Value = .Range("S" & linea) If CEdad = "" Then CEdad.AddItem ("Cachorro") CEdad.AddItem ("Juvenil") CEdad.AddItem ("Adulto") End If If CMotivo.Value = "" Then Set causas = Worksheets("Variables").Range("n2:n7") For Each celda In causas CMotivo.AddItem celda.Value Next celda End If If CDestino.Value = "" Then CDestino.AddItem ("Liberado en el lugar con Collar") CDestino.AddItem ("Liberado en el lugar sin Collar") CDestino.AddItem ("Traslocado") CDestino.AddItem ("Llevado a cautiverio") CDestino.AddItem ("Muestras") CDestino.AddItem ("No Corresponde") End If If .CEspecie.Value = "" Then Set nombreCientifico = Worksheets("Variables").Range("c2:c214") For Each celda In nombreCientifico CEspecie.AddItem celda.Value Next celda End If If CTipodeRegistro.Value = "" Then CFotos.AddItem ("Captura") CFotos.AddItem ("Muerto") End If CcreadorRegistro.Value = .Range("T" & linea) CresponsableRegistro.Value = .Range("U" & linea) Cinstitucion.Value = .Range("V" & linea) CLinkFoto.Value = .Range("X" & linea) CLinkPlanilla.Value = .Range("Y" & linea) CObservaciones.Value = .Range("Z" & linea) If CUso.Value = "" Then CUso.AddItem ("Uso Libre") CUso.AddItem ("Uso Reservado") End If End With Else MsgBox "Debe seleccionar un registro de la lista para Editar o Modificar los datos", vbExclamation, "Ciencia Colectiva" End If application.ScreenUpdating = False End Sub Hola a todos como estan? parece que excel no me quiere ultimamente porque me esta haciendo volverme loca a cada rato. les comparto el codigo, que siempre uso para buscar en un listbox un valor , hacer dobleclick sobre un registro y editarlo. Para editarlo me traigo algunos datos del listbox y otros tengo que buscarlos en la hoja. Siempre funciono y ahora no y no entiendo por que... With Sheets("BDCapturasMuertos").Range("A2:A" & ufila) Set filaseleccionada = Range("A2:A" & ufila).Find(valor_buscado, LookAt:=xlWhole) lineanueva = filaseleccionada.row < = AQUI ME DA ERROR... El resto funciona me carga en los textbox correspondientes el valor del elementos seleccionado en el listbox pero no me trae los otros datos de la hoja... seguramente es un error muy **maravilloso**, pero ya llevo 6 horas en esa linea y no le encuentro el problema.. me pueden ayudar por favor, estoy tan mareada ya con esto que no se que hacer CC_capturasejemeplo.xlsm
×
×
  • Create New...

Important Information

Privacy Policy