我需要为第J列中的每个唯一值运行一个foreach语句。对于每个唯一名称,我想创建一个新的Excel工作簿,复制特定名称的所有行,最后保存具有相同唯一值的工作簿。
Sub test()
Range("A1:J17").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Cells.Select
Cells.EntireColumn.AutoFit
Application.CutCopyMode = False
Range("D1").Select
Selection.Copy
ChDir "c:\test"
ActiveWorkbook.SaveAs Filename:= _
"c:\test\test.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
答案 0 :(得分:2)
我确信比我聪明的人可以告诉你如何df$group=(df$ID-1)%/%3
df%>%group_by(group)%>%dplyr::summarise(ntype=paste0(type,collapse = ''))
# A tibble: 9 x 2
group ntype
<dbl> <chr>
1 0 huk
2 1 wyb
3 2 nxo
4 3 lyl
5 4 roc
6 5 xgb
7 6 iyx
8 7 sqz
9 8 r
数组或其他东西,但这应该有效。我默认将大小设置为1,000 max,但如果要检查更多行,则将其设置为更高。这也假定列J是包含需要复制到新工作簿的数据的最后一列:如果不是这种情况,请将ReDim
更改为ws.Range(ws.Cells(y, 1), ws.Cells(y, uCol)).Copy
ws.Range(ws.Cells(y, 1), ws.Cells(y, WHATEVER_COLUMN)).Copy