Jump to content

roa30

Members
  • Posts

    43
  • Joined

  • Last visited

  • Country

    Argentina

Everything posted by roa30

  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?
  16. Sub CopiarCeldas() 'Defini objetos Dim wbDestino As Workbook, _ wsOrigen As Excel.Worksheet, _ wsDestino As Excel.Worksheet, _ rngOrigen As Excel.Range, _ rngDestino As Excel.Range 'indicio el libro de Excel destino Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "/Datos - Abastecimientos.xlsm") 'Activar este libro ThisWorkbook.Activate 'Indicar las hojas de origen y destino Set wsOrigen = Worksheets("Other") Set wsDestino = wbDestino.Worksheets("Datos") 'Indicar la celda de origen y destino Const celdaOrigen = "A1" Const celdaDestino = "A1" 'Inicializar los rangos de origen y destino Set rngOrigen = wsOrigen.Range(celdaOrigen) Set rngDestino = wsDestino.Range(celdaDestino) 'Seleccionar rango de celdas origen rngOrigen.Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy rngDestino.PasteSpecial xlPaste Application.CutCopyMode = False wbDestino.Save wbDestino.Close End Sub 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?
  17. Hola buenos días a todos , yo aquí sigo trabajando con mi proyecto, en el Modulo 7 he generado un código, que me permite copiar y pegar un rango de datos en un objeto chart exportarlo de forma constante al mismo archivo, insertar, copiar y borrar esa imagen para poder adjuntar a una msg de WhatsApp. Si bien realiza todo el procedimiento tengo dos problemas... uno que si bien yo defino el rango, "Hoja1.Range("A1:F46").Select" al hacerme todo el procedimiento me adjunta 6 hojas en formato imagen en whats app y debería ser solo la primera con datos. y otro detalle es que me gustaría si me pueden ayudar a encontrar una forma que ese rango sea variable en un función del ultimo registro que encuentre en la hoja1. así no me queda una hoja grande casi vacía, ni tampoco me pierdo de enviar algún dato si pasa los limites de esa hoja que creo que tiene hasta la fila 46. Copio el código, y adjunto también el archivo. Muchísimas gracias de ante mano. MODULO 7 Sub Macro3() Const RutaArchivoCaptura As String = "C:\Users\54375\Documents\TEMPORALES\Captura.jpg" Hoja1.Range("A1:F46").Select Selection.CopyPicture AppearAnce:=xlScreen, Format:=xlBitmap Hoja1.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Select ActiveChart.Paste: ActiveChart.Export filename:=RutaArchivoCaptura 'ActiveChart.CopyPicture ActiveChart.Parent.Delete direma = RutaArchivoCaptura Set imag = ActiveSheet.Pictures.Insert(direma) 'UserForm1.Hide With imag .Copy .Delete telwhatsapp = "54362440627" textwhatsapp = Hoja6.Cells(1, 15) Call EnviaWhatsapp End With Call Macro4 End Sub Solicitud de Suministros 4.0.xlsm
  18. Hola @zelarra821, estaba mirando tu publicacion, voy a probarlo e intentarlo...
  19. Hola a todos ! me he sumado creo que hace mas de una semana al foro, y no llegue a presentarme Mi nombre es Romina, soy mama de dos niños hermosos, y soy trabajadora social de profesión. La vida me ha ido llevando hacia los datos ... pasando primero por los sistemas de información geográfica y luego bases de datos, algo de código vba y power bi... estoy super feliz con todo lo que estoy aprendiendo aquí, y sobre la calidez y solidaridad de las personas que participan aquí, que colaboran con problemas de otras personas, invirtiendo su tiempo y compartiendo sus conocimientos... espero poder también ofrecer ayuda! aunque soy super principiante el tema, estoy dispuesta a colaborar y participar con mucho entusiasmo Saludos desde Argentina!
  20. Hola @Antonimuchisimas gracias! funciona excelente!!!!!
  21. @HaploxMuchisimas gracias. funciono perfecto!!!! gracias! gracias! No sabia lo de la propiedad show modal, tengo que interiorizarme mas sobre eso, pero tu ayuda en el código funciono perfecto! gracias!
  22. Buenos dias amigos, avanzando con mi formulario de suministros me encuentro con el error de que no se encuentra el objeto he configurado un segundo userform "UserForm2" el cual se activa cuando hago clik en elemento del LISTBOX " LBProductos" y me permite escribir la cantidad del producto que deseo agregar. Hasta ahi funciona Pero al seleccionar el Boton "CONFIRMAR", para cargar la cantidad de ese producto seleccionado en el UserForm1 me dice que no se encuenta el objeto, y no encuentro la forma de resolverlo. La secuencia seria: _1 busco el producto en el USERFORM1, al hacer doble click sobre el producto -2 se activa el userform2 y escribo el textbox "TXTCANTIDAD" la cantidad que deseo seleccionar. -3 al presionar el Boton "CONFIRMAR" me introduzca el producto seleccionado y la cantidad en el ListBox "LBPedidos" -4 se cierre el UserForm2 para seguir elegiendo productos o bien se cierre el pedido... suministros Romi.xlsm Me podrian ayudar? Millones de gracias de ante mano
  23. Aqui he introducido otro USERFORM, con el objetivo de ingresar la cantidad del objeto seleccionado en LISTBOX LBProdutos, estoy intentando traer el dato del objeto seleccionado al USERFORM 2 ya he fallado nuevamente. suministros Romi.xlsm
  24. Gracias @JSDJSD funciona a la perfeccion, gracias porque no habia pensado que se podia hacer esa condicional.... tengo mucho que aprender de ustedes
  25. Hola Antoni, simplemente WOWWW... ME ENCANTO LO QUE LE HAS CAMBIADO.... EXCELENTE!!!... Ahora un consulta apelando a la ultra capacidad e inteligencia que tiene ustedes, porque cada vez me doy mas cuenta que necesito hacer algun curso urgente, de macros... he visto que utilizan variables y funciones que jamas las habia visto... si cada vez que selecciono un producto de la lista, necesito ver la forma de preguntar al usuario que cantidad desea solicitar, y estaba pensando en hacer otro userform, que le pregunte cada vez que hace click que cantidad quiere... no se si existe algo mas simple para usar... pero la consulta concreta es como pongo ese dato, en LISTBOX LBPedidos si ese dato no lo tengo en mi hoja de calculo?
×
×
  • Create New...

Important Information

Privacy Policy