Jump to content

delvalle

Members
  • Content Count

    159
  • Joined

  • Last visited

  • Days Won

    1

delvalle last won the day on September 17 2011

delvalle had the most liked content!

About delvalle

  • Rank
    Advanced Member
  • Birthday 04/04/1989
  1. Hola tengo un problema con una macro que tengo en un libro, es esta: Sub tecla() Application.OnKey "~", "intra" End Sub Sub intra() On Error Resume Next ActiveCell.Offset(0, 0).Select End Sub Sub teclo() Application.OnKey "~", "intro" End Sub Sub intro() On Error Resume Next ActiveCell.Offset(1, 0).Select End Sub [/CODE] El problema que tengo es que cuando estoy trabajando con este libro y se ejecuta la macro y cierro el libro cuando he terminado, y abro otro libro o una nueva hoja, al pulsar intro en el teclado se vuelve a abrir este libro donde se ejecuta esta macro. ¿Cómo puedo solventarlo?
  2. Esto es lo que me sirvió: Sub Combinar(): On Error Resume Next 'i = 5 If Range("C" & Rows.Count).End(xlUp).Value Mod 5 = 0 Then i = Range("B" & Rows.Count).End(xlUp).Row + 1 End If For x = i To Range("C" & Rows.Count).End(xlUp).Row If IsNumeric(Range("C" & x)) Then 'el 5 numero de registros If Range("C" & x) Mod 5 = 0 Then With Range("B" & i & ":B" & x) .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Font.ColorIndex = 3 'el 5 numero de registros .Value = Range("C" & x) / 5 End With i = x + 1 End If End If Next [B]If Range("C" & Rows.Count).End(xlUp).Value Mod 5 = 0 Then i = Range("B" & Rows.Count).End(xlUp).Row Range("AC" & i & ":AC" & x - 1) = 1 End If[/B] End Sub[/CODE]
  3. Gracias por contestar Macro, pero no consigo el resultado esperado. Mira el archivo plis, y fíjate en esto: cuando se ejecute la macro, en las celdas que se vayan a combinar, en este caso desde W13 hasta W18, quiero que coloque un 1 Gracias y un saludo.
  4. Hola de nuevo, tengo un problemita con el código proporcionada por Macro Antonio, el problema que tengo es que esta hoja va a contener demasiados registros y según está planteada ahora, cada vez que se ejecuta lo hace desde la celda B5 que es el valor de la variable i. Yo lo he adaptado y he cambiado esto: i=5[/CODE] por esto: [CODE]If Range("C" & Rows.Count).End(xlUp).Value Mod 5 = 0 Then i = Range("B" & Rows.Count).End(xlUp).Row + 1 End If[/CODE] Y ahora si se ejecuta desde la última fila combinada, [b]creo[/b] que con esto se gana velocidad. "El problemita" es que cuando se ejecute la macro, en las celdas que se vayan a combinar, en este caso desde W13 hasta W18, quiero que coloque un 1. Lo he intentado añadiendo esto: [CODE]Range("W" & i & ":W" & x) = "1"[/CODE] pero coloca el 1 desde la celda W6, en cambio si pongo esto: [CODE]Range("W" & i & ":W" & x).Select[/CODE] Si selecciona las celdas desde W13 hasta W18. Combinar.xls
  5. bien lo merece tu conocimiento, desde luego jejej Gracias!!
  6. Que bien.. una última cosa, ¿es posible que cuando se haga una búsqueda y no se encuentre el resultado para un país determinado, no aparezca el nombre de dicho país? Por ejemplo si buscamos inter, solo encuentra un resultado en Austria y ninguno en Belgium, que aparezca: AUSTRIA INTERCELL - ICEL.VI 10% Saludos.
  7. Buenas Macro Antonio, Me parece bien utilizar este método, aquí adjunto un archivo con el tipo de datos que voy a tener, el anterior archivo tenia datos ficticios, ¿podrías obtener con este método el resultado esperado que he marcado? Saludos y Gracias. MacroBuscar MA-1.xls
  8. Buenas, Pulsando en el botón BUSQUEDA se ejecuta una macro para buscar la palabra que introduzcamos en la hoja2. La macro lo que hace es que cada vez que encuentra un resultado selecciona la celda donde esta se encuentra en la hoja2. Y es esto lo que quiero cambiar, ya que no quiero que cuando encuentre un resultado vaya saltando de celda en celda si no que me los muestre en la hoja1. Este es el código que tengo: Sub Rectánguloredondeado_AlHacerClic() Dim FirstCell As Range Dim NextCell As Range Dim WhatToFind As Variant WhatToFind = Application.InputBox("Palabra(s) clave:", "Búsqueda", , 800, 500, , , 2) Hoja2.Activate If WhatToFind <> "" And Not WhatToFind = False Then Set FirstCell = Range("A1:A778").Find(What:=WhatToFind, LookIn:=xlValues, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) If FirstCell Is Nothing Then Hoja1.Activate Range("A1").Activate MsgBox ("Valor no encontrado") End If If Not FirstCell Is Nothing Then FirstCell.Activate respuesta = MsgBox(FirstCell & vbCrLf & vbCrLf & vbCrLf & vbCrLf & " ¿Quiere continuar con los resultados?", vbYesNoCancel, "Se encontró " & Chr(34) & WhatToFind & Chr(34) & " : " & vbCrLf & vbCrLf) If respuesta = vbCancel Then Hoja1.Activate Exit Sub End If If respuesta = vbNo Then Hoja1.Activate Range("A1").Activate Exit Sub End If On Error Resume Next While (Not NextCell Is Nothing) And (Not NextCell.Address = FirstCell.Address) Set NextCell = Range("A1:A778").FindNext(After:=ActiveCell) If Not NextCell.Address = FirstCell.Address Then NextCell.Activate respuesta = MsgBox(NextCell & vbCrLf & vbCrLf & vbCrLf & vbCrLf & " ¿Quiere continuar con los resultados?", vbYesNoCancel, "Se encontró " & Chr(34) & WhatToFind & Chr(34) & " : " & vbCrLf & vbCrLf) If respuesta = vbCancel Then Hoja1.Activate Exit Sub End If If respuesta = vbNo Then Hoja1.Activate Range("A1").Activate Exit Sub End If End If Wend Hoja1.Activate Range("A1").Activate End If Set NextCell = Nothing Set FirstCell = Nothing End If Hoja1.Activate Range("A1").Activate End Sub[/CODE] MacroBuscar.xls
  9. Gracias German, el 2do punto estaría completo. Tienes idea de como puedo solucionar el problema de las columnas I y J de la hoja Valores. Si te fijas en la celda I32 no devuelve el valor de 0,1 que se encuentra en B32 y a partir de J10 ya no de los resultados de la columna C. Saludos.
  10. Buenas, Tengo problemas con las columnas I y J de la hoja Valores ya que no me devuelven todos los resultados, lo podéis ver en el archivo adjunto. Saludos. Buscar.xls
  11. Buenas Ama, muchas gracias por contestar, creo que no me supe explicar.., lo que pretendo es que cuando en la hoja1 añada un registro éste se copie a la hoja2. Y cuando decida modificar uno de esos registros en la hoja1, como por ejemplo el importe del traspaso del 10 de abril, se actualice ese dato en la hoja2. Saludos. Movimientos -3.xls
  12. Muchísimas Gracias Macro Antonio!! Tema resuelto! Si te apetece pasa por aquí a ver si me das una posible solución.. https://www.ayudaexcel.com/foro/macros-programacion-vba-10/anadir-datos-hoja-registro-29259/[/HTML] Saludos.
  13. Buenas compañeros, si me ayudáis con los siguiente, lo agradecería mucho. El funcionamiento del libro es el que sigue: La hoja2 es donde se guardan los registros, éstos provienen de dos hojas distintas. De una vienen los datos a los que llamo Movimientos en Cuenta que sería en este caso la hoja1 y la otra hoja la he omitido porque no interviene. Los datos que provienen de la hoja1, en el campo Id siempre debe de aparecer 0 (000000), independientemente del número de registros. Se debe de llenar el campo Id (siempre 0 como he dicho), el campo Nombre (que sería el Concepto - hoja1), el campo F. Fin (que es la Fecha - hoja1) y R. Neto (que es el Importe - hoja1), el resto de campos se quedan vacíos. Hasta aquí tengo hecha la macro. ¿Como puedo identificar un movimiento nuevo de uno que quiero modificar? Lo ideal, creo, es hacer alguna búsqueda primero usando algún campo cuyo dato sea único, para determinar si se está queriendo modificar algo que ya se cargó o es un movimiento nuevo... Había pensado en numerar la columna B de la hoja1, es más, empecé a hacerlo en B8 hay un 1 y en B9 un 2, pero no sabía como continuar... y ese número se podría poner en la hoja2 en el campo Ticker o en la columna G que está vacía para hacer la búsqueda, lo ideal sería poner esos número en color blanco para que no se vean, pero eso es secundario.. Esto último es donde estoy parado ahora, porque no sé como llevarlo a cabo. Movimientos.xls
  14. Buenas tese1969, he encontrado un caso en el que no combina bien las celdas. Lo puedes ver en el adjunto. Saludos. Combinar celdas2.xls
×
×
  • Create New...

Important Information

Privacy Policy