我正在学习Microsoft Excel作为我的主题,我已经完成了使用VBA宏制作过滤器的任务。
这就是我所拥有的:
工作表(“主要”), 工作表(“美国”), 工作表(“亚洲”)和工作表(“欧洲”)
这就是我要做的事情:
将一些数据从用户剪贴板粘贴到工作表(“主”)。统计具有相同大洲的所有数据并获得总输入的10%(即:总共有1000个输入粘贴在Worksheet main上,500个来自非洲,350个来自亚洲,150个来自欧洲。因此将从工作表中复制的数据(“非洲”)仅为50个输入,这50个输入应具有来自AMOUNT列的过滤器
这是我所有工作表的标题,
LOCAL | AMOUNT | CONTINENT |其他评论|
现在这就是我上网的时候了。
Sub copyPasteData()
Dim strSourceSheet As String
Dim strDestinationSheet As String
Dim lastRow As Long
strSourceSheet = "Main"
Sheets(strSourceSheet).Visible = True
Sheets(strSourceSheet).Select
Range("C2").Select ' This is where I could filter the CONTINENTS.
Do While ActiveCell.Value <> ""
strDestinationSheet = ActiveCell.Value
ActiveCell.Offset(0, -2).Resize(1, ActiveCell.CurrentRegion.Columns.Count).Select
Selection.Copy
Sheets(strDestinationSheet).Visible = True
Sheets(strDestinationSheet).Select
lastRow = LastRowInOneColumn("A")
Cells(lastRow + 1, 1).Select
Selection.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets(strSourceSheet).Select
ActiveCell.Offset(0, 2).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Public Function LastRowInOneColumn(col)
Dim lastRow As Long
With ActiveSheet
lastRow = .Cells(.Rows.Count, col).End(xlUp).Row
End With
LastRowInOneColumn = lastRow
End Function
使用上面的代码,我可以根据给定的大陆进行过滤。但问题是如何获得用户粘贴的总输入的10%?
任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
按大陆排序。
对信息进行排序后,您可以计算每个洲的项目,以便了解“应该从AMOUNT列中选择过滤器的输入数量。”