Problemas al copiar de una hoja a otra hoja usando una macro

10/12/2005 - 21:35 por Luis F. Colmenares | Informe spam
Tengo el siguiente codigo asociado a un boton de un formulario:
...
Sheets("ORDENES").Select
Range("C1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'se guardan dichas ordenes en la hoja llamada lista
Sheets("LISTA").Select
Range("A1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=True, Transpose:=False

Range("B2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=IF(RC[-1]<>R[1]C[-1],RC[-1],"""")"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B57922")
Range("B2:B57922").Select
Columns("B").Select
Selection.Copy
Columns("C").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("D5").Select
Application.CutCopyMode = False
Columns("C").Select
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("E8").Select
.

En ese pedazo de codigo el copia de una hoja a otra, el problema que tengo,
es que esto me funciona perfecto cuando se ejecuta paso a paso, pero en modo
normal no realiza la copia, agradeceria al que me pueda ayudar.

gracias
 

Leer las respuestas

#1 KL
10/12/2005 - 22:42 | Informe spam
Hola Luis,

Si te he entendido bien, prueba esto:

Sub Test1()
Sheets("ORDENES").Columns("C").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Sheets("LISTA").Range("C1"), _
Unique:=True
End Sub

o esto

Sub test()
Dim UFila As Long
Application.ScreenUpdating = False
With Sheets("ORDENES")
UFila = Cells(1, "C").End(xlDown).Row
.Range("C1:C" & UFila).Copy
End With
With Sheets("LISTA")
.Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
.Range("B2:B" & UFila).FormulaR1C1 = _
"=IF(RC[-1]<>R[1]C[-1],RC[-1],"""")"
.Columns("B").Copy
.Columns("C").PasteSpecial xlPasteValues
Application.CutCopyMode = False
.Columns("C").Sort _
Key1:=.Range("C1"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub

Saludos,
KL

Preguntas similares