Jump to content

roa30

Members
  • Posts

    43
  • 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

roa30's Achievements

  1. Lo he resulto!... les comparto el codigo por si alguno tiene un problema similar! Sub Copiar_Filas_Presupuestadas(): On Error Resume Next Dim ufila6 As String, ufila7 As String Dim KPIdestino As Worksheet, MSTorigen As Worksheet, Plant As Range Dim i As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Workbooks.Open (ActiveWorkbook.Path & "\Autorizaciones.xlsm") Set KPIdestino = Workbooks("Autorizaciones.xlsm").Worksheets("Datos") ThisWorkbook.Activate Set MSTorigen = Workbooks("Datos - Abastecimientos.xlsm").Worksheets("Presupuestos") Hoja2.Activate j = 2 ' variable inicial ufila6 = MSTorigen.Cells(Rows.Count, 1).End(xlUp).Row ' ultima fila de datos origen ufila7 = KPIdestino.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To ufila6 ' comprobacion de estado If Cells(i, "I").Value = "PRESUPUESTADO" Then 'Copia la fila entera y la pega. Range(Cells(i, "A"), Cells(i, "U")).Copy Destination:=KPIdestino.Range("A" & j) ' Aumenta la variable para que cuando encuentre una nueva fila con la condicion me la copie j = j + 1 End If Next 'Guarda los cambios y cierra el libro Workbooks("Autorizaciones.xlsm").Close SaveChanges:=True Application.CutCopyMode = False Application.DisplayAlerts = True End Sub buena semana para todos! Para mi el tema esta cerrado! besos!
  2. Seguramente mi error esta en como aplico el criterio de seleccion... pero no logro comprender como unir esas condiciones con el rango a copiar... Me podrian guiar en que estoy haciendo mal?
  3. Hola amigos como estan! ando con una inquietud hace días que me mire todos los videos que encontre y no logro resolver un punto importante en mi proyecto. Tengo dos Archivos excel: Datos - Abastecimientos2 y Autorizaciones., ambos archivos tienen una hoja llamada "Datos" En el archivo de Datos - Abastecimientos, en la Hoja datos, van ingresando datos a los cuales se le agrega el valor = "Prespuestado" una vez que se hice la busqueda de precios. Lo que estaba intentando con el modulo 1 es que me busque todos los datos de esa hoja y me copie solo las filas que cumplen la condicion de tener la palabra "Presupuestado". y me las pegue en la Hoja Datos del archivo Autorizaciones. Logre que me abra el archivo y copie los formatos he hice otras pruebas y me copiaba solo el ultimo valor encontrado ... les comparto el codigo... que estaba probando y no me funciona y los dos archivos. Sub buscar_ultpedido() Dim ufila6 As String, ufila7 As String Dim rango As Range Dim KPIdestino As Worksheet, MSTorigen As Worksheet, Plant As Range Dim compID As Range Dim i As Long Dim primera As Variant Dim celda As Range Dim poblacion As String Dim palabraBuscada As String Application.ScreenUpdating = False Workbooks.Open (ActiveWorkbook.Path & "\Autorizaciones.xlsm") Set KPIdestino = Workbooks("Autorizaciones.xlsm").Worksheets("Datos") ThisWorkbook.Activate Set MSTorigen = Workbooks("Datos - Abastecimientos2.xlsm").Worksheets("Datos") palabraBuscada = "PRESUPUESTADO" ufila6 = MSTorigen.Cells(Rows.Count, 1).End(xlUp).Row If ufila6 < 2 Then ufila6 = 2 ufila7 = KPIdestino.Cells(Rows.Count, 1).End(xlUp).Row + 1 If ufila7 < 2 Then ufila7 = 2 'If MSTorigen.Cells(ufila6, 11) = palabraBuscada Then For i = 2 To ufila6 j = Hoja1.Cells(i, 1).Row Set rango = MSTorigen.Range("A" & j & ":K" & ufila6) If rango hoja1.Range("A" & j & ":K" & ufila6) = palabraBuscada Then rango.Copy KPIdestino.Range("A" & ufila7).PasteSpecial xlPasteAll Application.CutCopyMode = False End If ' Next Exit Sub Next 'End If End Sub
  4. Hola @Antoni muchisimas gracias por tomarte el tiempo para explicarme eso era justamente lo que queria saber!! voy hacer un filtrado por comunidades para reducir el volumen de datos... muchisimas gracias he probado el codigo que me has pasado, y con datos filtrados por comunidad si funciona y no es tan lento. muchisimas gracias por la ayuda y sobre todo por la explicacion. Damos por cerrado el tema. Que tengas una excelente semana!
  5. Hola @JSDJSD millones de gracias por la ayuda! Funciona perfecto!!! lo he probado y era justo lo que necesitaba! admiracion total! muchisimas gracias eres un genio! que tengas una excelente semana! Por mi, Podemos dar por cerrado el tema..
  6. Hola Antoni, gracias por notarlo!, había reducido la cantidad de filas para que no sea tan pesado el archivo pero lo cierto es que tiene 948.500 registros!!! 1.probe la función y el código que me pasaste, como pocos datos funciona a la perfección, pero con todos los registros, directamente se me tilda y se me cierra la aplicación. Lo que hice fue " call EncriptaDesencriptaPNAC()" en el evento inicialize del Userform Padrón comparto el archivo con la totalidad de los datos, que no me esta funcionando... Crees que es posible encontrar una forma de hacerlo, que no sea tan lenta y que no me cierre el archivo? o definitivamente no se podrá con esa cantidad de datos?- la consulta es porque me exigen el encriptado de datos por seguridad y no se que otra forma pueda hacerlo. 2. Por otro lado consulto, es posible hacer mas rápida la búsqueda en el formulario, a través del evento change de un textbox, porque hasta ahora lo tenia programada la busqueda a traves del Boton buscar o consultar? lo comparto al archivo por Drive porque al tener todos los registros supera el peso por mas que lo comprima... desde ya Antoni, muy agradecida por tu ayuda y fascinada con tu dominio de VBA... gracias!!! https://drive.google.com/file/d/183NOtT0RWPqtcwiPyy166KrrpxtpGU4A/view?usp=sharing
  7. ERES UN GENIO ANTONI!!! MUCHISIMAS GRACIAS POR TU APORTE!!! Lo he probado y funciona excelente en el rango que pusiste de ejemplo... estuve probando para que me seleccione todo el rango de datos que esta en la hoja activa y no logro, me estare equivocando en el metodo? o porque no me toma... Function EncriptaDesencripta(Texto As String) As String For y = 1 To Len(Texto) Mid(Texto, y, 1) = Chr(255 - Asc(Mid(Texto, y, 1))) Next EncriptaDesencripta = Texto End Function Sub Ejemplo() 'Ejemplo de funcionamiento de la función Dim fila As Long 'En esta parte estaba intentando seleccionar todos los datos hasta la ultima fila desde la columna A a la G fila = Hoja1.Cells(Rows.Count, "A").End(xlUp) Range(Hoja1.Cells(fila, 7)) = EncriptaDesencripta(Range(Hoja1.Cells(fila, 7))) End Sub
  8. Buenas tardes amigos como estan. Les escribo de nuevo para hacerles una consulta, tengo mi archivo padron, con un user form inicial y otro userform padron, en el cual se buscan los datos de la hoja PNAC. Los userform y las funciones me ejecuta relativamente bien, es un poco lento no mas. Pero lo que me exigen en mi trabajo, como son datos privados, que para distribuir el archivo, debo encriptar los datos, es decir, me piden que los datos que estan en la Hoja PNAC, no sean legibles si llegaria a poder abrirse, sino que sean caracteres tipo codigo o simbolo.... Y que solo se puedan ver de forma legible, es decir entiendo las palabras y datos a traves del formulario de consulta "PADRON". Es posible hacer esto?, me podrian guiar como o donde buscar, porque hace dos dias llevo investigando en internet y no logro encontrar lo que estoy buscando... Les comparto el archivo con el codigo... un abrazo!!! PADRON.zip
  9. Estimados amigos, buenos días. Tengo un problema con la función VLOOKUP, que estuve revisando en el foro casos donde se trato el tema, pero es muy distinto mi caso. Comparto el archivo para que me puedan entender mejor. Yo estoy usando un formulario "Prespuestos", el cual tiene un combox donde se selecciona Proveedor 1,2 o 3, esos datos son almacenados de otro formulario vinculado a ese que se llama, "Consulta Proveedor". Al seleccionar del Combox un proveedor asignado 1,2,3, en el userform "Presupuestos" me carga un textBox con el nombre o la razon social hasta ahi vamos bien. Lo que necesito es que, al seleccionar un proveedor 1,2 o 3, además de cargar el textbox con la razon social, me busque el CUIT, usando la funcion vlookup, por la razon social que esta en la columna B de la Hoja 4, y me traiga los datos de codigo de proveedor que estan el la colunma A y CUIT que esta en la columna C y los coloque en el txtcodigoproveedor y txtcuit del userform "Presupuestos". Arriba esta el codigo que estaba probando para lograrlo y no me funciona. Me podrian ayudar por favor guiandome que estoy haciendo mal? Datos - Abastecimientos.xlsm
  10. Sub buscar_ultpedido() Dim ufila6 As String, ufila7 As String Dim rango As Range Dim LIBROdestino As Worksheet, LIBROorigen As Worksheet, Plant As Range Application.ScreenUpdating = False Workbooks.Open (ActiveWorkbook.Path & "\Datos - Abastecimientos.xlsm") Set LIBROdestino = Workbooks("Datos - Abastecimientos.xlsm").Worksheets("Datos") ThisWorkbook.Activate Set LIBROorigen = Workbooks("Solicitud de Suministros 4.0.xlsm").Worksheets("Other") ufila6 = 0: ufila6 = LIBROorigen.Cells(Rows.Count, 1).End(xlUp).Row If ufila6 < 2 Then ufila6 = 2 ufila7 = 0: ufila7 = LIBROdestino.Cells(Rows.Count, 1).End(xlUp).Row + 1 If ufila7 < 2 Then ufila7 = 2 For i = ufila6 To 2 Step -1 If LIBROorigen.Cells(i, 1).Value = LIBROorigen.Cells(i - 1, 1).Value Then Else j = Hoja6.Cells(i, 1).Row Set rango = LIBROorigen.Range("A" & j & ":J" & ufila6) rango.Copy LIBROdestino.Range("A" & ufila7).PasteSpecial xlPasteAll Application.CutCopyMode = False Exit Sub End If Next End Sub Estimado amigo @tierra_pampa, al fin lo logre... tu codigo fue parte esencial de la magia... muchisimas graacias sin tu aporte no hubiese llegado al resultado muchas gracias!
  11. Definitivamente he probado varias formas y parece mision imposible... ya no se que mas probar...
  12. Hola @tierra_pampa !!! he probado el codigo y funciona perfecto lo de buscar el rango segun ID, lo copia y lo pega en la Hoja 7, eres un genio!!! pero me podrias como puedo hacer usando mi codigo copiarceldas para que pegado de los datos lo haga en el otro archivo "Abastecimientos" que es el otro fichero que lo comparti tambien. con mi codigo llego a encontrar el archivo "Abastecimiento" que esta en la misma carpeta que el Suministros, pero no logro que me pegue ahi los datos... creo que el cambio habria que hacerlo en "Hoja7.Range("A" & ufila7).PasteSpecial xlPasteAll" pero no se como hacer para que tome que el rango el a & ufila7 pero de otro workbook, en este caso "Abastecimientos" podrias ayudarme por favor a ver, como hacer ese cambio? te re agradezco de ante mano, todo lo otro funciono excelente
  13. @tierra_pampaMuchísimas gracias por el tiempo y el aporte ...lo pruebo y te comento... mil gracias 😊
  14. Buenos días, amigos como están...aum no encuentro la forma de resolverlo... Estaba pensando en la opción de Range("A").End(xlUp).Row Pero con esa podría lograr solo encontrar la última fila. Y no se como hacer para encontrar el último ID en la columna A recorrer todas las filas que cumplan con la condición de tener ese mismo ID...me copie esa selección y me la lleve a la hoja Datos del archivo Abastecimiento ... Mi cabeza está quemada...llevo días investigando y no le encuentro la forma... por favor recurro a ustedes... que la verdad creo que es un foro de grandes maestros de cual estoy aprendo muchísimo!!! Me podrían ayudar por fa? O quizás saber si lo que trato de hacer es posible o no... porque quizás estoy intentando algo que no hay forma de lograrlo... Desde ya millones de gracias
  15. Hola amigos, como están? Les comparto el código que estoy tratando de adaptar para lograr que desde mi hoja6 ("Other") se copie automaticamente la fila entera del ultimo valor cargado, y se copie a mi hoja "Datos" que esta en otro libro denominado "Datos - Abastecimientos" Al parecer hace la accion de abrir el libro y lo encuentra, lo que se que esta mal es la forma de seleccionar el rango porque actualmente me toma una celda, la selecciona y copia todo hacia abajo y hacia la derecha, pero para no volver a copiar los mismos datos, quisiera ver como hacer para que me copie solo la ultima fila encontrada desde la columna A hasta la I en la hoja datos... Me podrian ayudar por favor?
×
×
  • Create New...

Important Information

Privacy Policy