Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/03/2009, 01:37
adelsaz
 
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema Excel

hola de nuevo, gracias a los dos, al final conseguí solucionarlo, el problema creo que venía por utilizar la misma variable (row2) para seleccionar el rango de origen y a la vez de destino (aunque en cualquier otro lenguaje de programación se podría haber hecho así), con lo que declarando una variable "filaDestino" de ámbito global funcionó, os pego el código por si a alguien le pasa lo mismo:

Public filaDestino

Sub Funcion()

....

'importante dar un valor a esta variable antes de entrar en el bucle
filaDestino = 4


For row2 = rowInicial To ambito
If Cells(row2, 34).Value = "1" Then

'Copia de datos
Range(Cells(row2, 31), Cells(row2, 43)).Select
Selection.Copy
Sheets("Colaboraciones").Select
ActiveSheet.Range("B" & filaDestino).Select
ActiveSheet.Paste
filaDestino = filaDestino + 1

'Borrado de datos
Sheets("Proyectos").Select
ActiveSheet.Range(Cells(row2, 31), Cells(row2, 43)).Select
Selection.Delete

'Si borramos la fila, hay que decrementarla para que no se salte una
row2 = row2 - 1

ultFilaDatos = ultFilaDatos + 1

End If

Next row2





End Sub









saludos a todos y gracias one more time ;)