Vba 排序,然后重新排序
我尝试将买入列从最大到最小排序,然后复制并粘贴到另一列,然后将卖出列从最大到最小排序,然后再次复制并粘贴到另一列。代码不会排序、复制/粘贴、重新排序,然后复制/粘贴;换句话说,它只保留购买的原始排序。有没有办法把买的东西分类,粘贴到别处,然后把卖的东西分类,然后照样复制?我正在考虑尝试一个do循环,但我不确定为什么我不能用一种更简单的方式来实现。任何见解都会有所帮助。谢谢大家!Vba 排序,然后重新排序,vba,sorting,Vba,Sorting,我尝试将买入列从最大到最小排序,然后复制并粘贴到另一列,然后将卖出列从最大到最小排序,然后再次复制并粘贴到另一列。代码不会排序、复制/粘贴、重新排序,然后复制/粘贴;换句话说,它只保留购买的原始排序。有没有办法把买的东西分类,粘贴到别处,然后把卖的东西分类,然后照样复制?我正在考虑尝试一个do循环,但我不确定为什么我不能用一种更简单的方式来实现。任何见解都会有所帮助。谢谢大家! ' buys rows("3:3").Select Selection.AutoFilter
' buys
rows("3:3").Select
Selection.AutoFilter
ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("D3" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortTextAsNumbers
With ActiveSheet.AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'copy top ten buys
Range("A5:I14").Select
Selection.Copy
Range("k3").Select
ActiveSheet.PasteSpecial
Application.CutCopyMode = False
' sells
ActiveSheet.AutoFilter.Sort.SortFields.Clear
ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("E3" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortTextAsNumbers
With ActiveSheet.AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A5:I14").Select
Selection.Copy
Range("k14").Select
ActiveSheet.paste
Application.CutCopyMode = False
因为您只添加了一个新的排序键,所以第二个排序将出现在“买入”和“卖出”列上。执行Sortfields.clear,然后再进行第二次搜索。您不需要使用
Select
,Selection
,ActiveSheet
,请明确使用您在代码中描述的范围(例如范围(“A5:I14”)。复制范围(“K3”)
。您还没有告诉我们哪些单元格包含您的数据,以及您如何区分买卖。您可以在粘贴后清除副本,并在排序后清除排序。发送标题行的图片或至少“买”和“卖”的位置,这是非常可行的。我试图发布一个PDF图像,但不确定如何…买入是D列,卖出是E列。文件标题:交易日期,计划号,文件集,买入金额,卖出金额,净金额,买入股票,卖出股票,净股票