Jump to content

Maria_80

Members
  • Posts

    213
  • Joined

  • Last visited

  • Country

    Spain

Everything posted by Maria_80

  1. Hola, Os adjunto un fichero con 4 columnas, en la cuarta, tengo la fórmula SI.ERROR junto con MAX jugando con los datos de las 3 primeras columnas. No consigo llevarme esa misma fórmula a VBA. Me confundo a la hora de añadirle el Max. No termino de encontrar la estructura en VBA. Podéis echarle un vistazo? Mil gracias! Ej_SI.Error.xlsm
  2. muchísimas gracias! funciona perfecto y lo he probado adaptándolo a lo mío y también va bien. ;). Gracias!
  3. Hola, Hice una macro para buscar una cadena de texto dentro de otra y, aunque, no me da ningún error, no funciona y me dice que no encuentra nada. Os adjunto el ejemplo. En la Hoja UNO, columna A hay una cadena de texto y busco si existe en Hoja DOS columna A, si es así rescata de Hoja DOS la columna C y la pega en columna B de hoja UNO. He puesto una tercera hoja con el resultado. En el fichero está la macro por si alguien le puede pegar una vuelta. Mil gracias de antemano. ejemplo_pequeño.xlsm
  4. Muchísimas gracias, Antoni. Funciona perfecto! Como siempre!
  5. Claro! Me refiero a que si hago la llamada a la ruta con la variable dir(nbrecopia), no funciona. Si hago dir("rutacompelta\fichero.xlsm") funciona. Te adjunto el ejemplo! Algo se me escapa! Mil millones de gracias! Dir(nbrecopia) ejemplo.xlsm
  6. Hola, Antoni. He probado con esto también y no funciona... no sé qué sucede. Me sale igual la ventanita típica de excel avisando de que ya existe un libro con ese nombre y que si deseo reemplazarlo. Piensa que es una call que tengo a esa macro para que al abrir el libro, con un SaveAs automáticamente se guarde con la fecha actual, salgo, guardo. Pero si en el mismo día vuelvo a abrir, no reconoce que ese fichero existe. solo me funciona si le pongo en la comprobación dentro de Dir la ruta completa con el nombre del fichero tal cual está y la extensión. No sé qué puede ser...
  7. He continuado la macro añadiendo esto, pero sigue sin hacer nada. Si el fichero existe, te dice que ya existe un fichero en la ruta con ese nombre, la idea es que si existe no haga nada y se salga, y si no existe lo cree. Esa parte sí funciona. Sub guarda() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Dim rutacopia As String, nbrecopia As String rutacopia = “mi ruta” nbrecopia = "miarchivo" & Chr(32) & "-" & Chr(32) & Format(Now, "ddmmyyyy") If Not FSO.Fileexists(nbrecopia) = True Then ActiveWorkbook.SaveAs rutacopia & nbrecopia Else If Not FSO.Fileexists(nbrecopia) = False Then Exit Sub End If End if End Sub
  8. hola, he creado con este pequeño código una macro que me crea una copia de mi fichero actual con la fecha del día. No sé cómo indicarle anteriormente que compruebe si existe en la ruta para que no haga nada. He visto ejemplos para comprobar con un nombre en concreto, pero no encuentro nada para que añada la fecha de hoy. Muchas gracias! Sub guarda() Dim rutacopia As String, nbrecopia As String rutacopia = \\Miruta\" nbrecopia = "mifichero" & Chr(32) & "-" & Chr(32) & Format(Now, "ddmmyyyy") ActiveWorkbook.SaveAs rutacopia & nbrecopia End Sub
  9. Mil gracias, Antoni! No sabía exactamente dónde añadir esa instrucción! Sl2!
  10. Mil gracias, Antoni. Como siempre. Voy a desarrollarlo todo sobre la segunda, porque no siempre viene separado por | Estoy intentando añadir que si no encuentra nada no deje la celda en blanco, ponga algo así como: "SIN DATOS" Sería aquí? If Not HALLA Is Nothing Then .Range("C" & x) = HALLA.Offset(0, 1) Gracias!
  11. Hola, Estoy intentando buscar el modo de llevarme a VBA la fórmula HALLAR. Lo que me sucede es que no es buscar una palabra en una celda, es buscar una palabra dentro de una cadena de texto en una celda y que la busque en otra hoja. En el ejemplo que os adjunto en la primera hoja (INICIO) hay tres columnas: ORDEN, CONCEPTO Y HALLA. Lo que necesito es que si alguna de las palabras que hay dentro de la cadena de texto de la celda CONCEPTO se encuentra en la primera columna de la hoja 2 (HALLAR), me devuelva la segunda columna de la hoja 2 y lo devuelva en hoja INICIO halla. Creo que no me explicado muy bien, pero al abrir el ejemplo se puede ver. ¿Alguna idea? Gracias de antemano. ej_hallar.xlsm
  12. Gracias, Antoni! No había caído en la función UCase, no la controlo mucho todavía. Funciona, como siempre!
  13. Hola, He hecho una macro para comparar si dos celdas son iguales, el problema es que discrimina entre mayúsculas y minúsculas y no sé cómo decirle que no lo haga. Hola = HOLA (ahora mismo no lo reconoce como igual). Gracias de antemano. T_ejemplo_MY_MIN.xlsm
  14. Hola, Estoy intentando sacar la función máx en un rango que cambia por fila. Como en el fichero que adjunto, Valor 3 (Columna C) = Max de columna A y B Normalmente lo hago con Lmax pero en un rango fijo de celdas, no sé cómo ponerlo para que recorra la tabla y me ponga en la tercera columna el máximo según cambia la fila. Gracias de antemano. Ejemplo_max (1).xlsm
  15. Hola, Antoni. Funciona perfecto, como siempre. Mil gracias!!!
  16. Hola! Estoy intentando llevarme a Visual Basic la función INDICE / MATCH de Excel: Sería así y me funciona correctamente: =INDICE(Tablas!$N$6:$Q$8;COINCIDIR(A2;Tablas!$O$6:$O$8;1);4) Adjunto el fichero de ejemplo donde uso esa fórmula y también el comienzo de una macro donde he intentado traducir lo mismo en código. Pero se me para en Match y no termino de sacar cómo ponerle la referencia a "A2". Alguien que me pueda echar un cable? Mil gracias! ejemplo_indexmatch.xlsm
  17. OK, ya lo he visto. Se me había movido el rango de la segunda hoja. Funciona correctamente, por si le sirve a alguien ;).
  18. Hola! ¿Alguien podría echarle un vistazo a la macro de este fichero? No me da ningún error al ejecutarla, pero no devuelve bien el dato. Tengo dos columnas en una hoja (Inicio). Si el dato de la primera columna es numérico, me lo pega en la segunda columna y si no es numérico, le digo que me de el máximo de la primera columna de la hoja "tablas". El caso es que no me devuelve el máximo, me pone un cero. No entiendo dónde está el error... Gracias de antemano! Ejemplo_max.xlsm
  19. OK, Antoni. Ya lo conseguí usando tu idea con esto: Sub May() For i = 2 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row If (Cells(i, "A").Value) = UCase(Cells(i, "A").Value) Then Cells(i, "B").Value = "Mayúsculas" Else Cells(i, "B").Value = "Contiene Minúsculas" End If Next End Sub Mil gracias por todo, como siempre! ;).
  20. Hola, Antoni. Muchas gracias! He visto las fórmulas de la segunda columna. Las he quitado para poder probar la función y hacerlo vía macro, pero no termino de entender cómo puedo pasarla diciéndole que tome los datos de la primera columna y me devuelva la solución en la segunda con el código. Con excel lo consigo con la función "MAYUSC" pero no sé cómo llevarme eso al código. No encontré nada. Gracias!
  21. Hola, Estoy intentando comprobar vía macro si el texto de una celda está todo en mayúsculas. Y me devuelva en la columna de al lado SI o NO. POr ejemplo AAA es sí y BBa sería no porque hay una minúscula. Adjunto ejemplo. He estado buscando y dicen que se puede acer con lcase, ucase o asc. Pero no encuentro ejemplos. Casi todos son para convertir el texto y no comprobarlo. Gracias de antemano. ejemplo_MY.xlsm
  22. Hola, Isidro. Retomo el hilo porque al final conseguí con este código separar por punto y coma los ficheros concatenados. El tuyo funciona, pero con estos ficheros que tengo en este formato tan raro, hasta ahora esto es lo único que me ha funcionado: Sub Separar() Dim cadena As String Dim vector() As String Dim Lin As Long Dim I As Long Lin = 2 Do While Hoja1.Cells(Lin, 1) <> "" cadena = Trim(Hoja1.Cells(Lin, 1)) vector = Split(cadena, ";") For I = LBound(vector) To UBound(vector) Hoja1.Cells(Lin, I + 2) = vector(I) Next I Lin = Lin + 1 Loop Mi pregunta es la siguiente: ¿Cómo puedo optimizar este código? en ficheros con pocas flas y columnas va perfecto, pero si trato de hacerlo con unas 11000 filas y 285 columnas, tarda una barbaridad. Incluso a veces deja de responder. Mil gracias!
×
×
  • Create New...

Important Information

Privacy Policy