Excel行组合?

我有4个可用的“插槽”。 我有4个“对象”,并且需要创build对象的组合,每个对象被放置在一个“槽”中进行旋转。 所以例如,如果我有这些对象:

val1 val2 val3 val4 

我想要使​​用脚本/macros/等,使值的范围的组合,使这个:

 val1 val2 val3 val4 val2 val3 val4 val1 val3 val4 val1 val2 val4 val1 val2 val3 

接下来,我有6个“对象”,每个对象都需要在每个槽中放置一个位置,所以总是存在一个不包含2个对象的组合,但是在完成所有组合之后,每个对象只访问一个槽。

我不确定使用什么网页search关键字。 我有点卡住了。 什么是最好的方法来做到这一点? 我已经安装了Excel 2013。

谢谢。

编辑。

基于乔的input,我现在有以下代码:

 Public Sub makeMore() Dim looper As Integer, colloop As Integer, numcols As Integer numcols = Cells(1, 1).Value For colloop = 1 To numcols For looper = Selection.Row To ((Selection.Row + Selection.Count) - 1) ActiveSheet.Cells(looper, colloop).Value = ActiveSheet.Cells((looper + colloop - 2) Mod numcols + 1, 1).Value Next looper Next colloop End Sub 

我把A1的值放在表格上,从C4到C9的值分别为“val1”,“val2”,“val3”,“val4”,“val5”,“val6”,select数值, 6“遍布整个表格。 我试图产生的是多组4个,每个“val”在所有组中均被代表。 我想在循环的值设置中缺less一些东西。

所有进一步的想法赞赏 再次感谢。

这将做到这一点; 我从O15中读取了#行的值。 你可以在程序的顶部设置一个常量,从某个地方读取它,把它放在一个msgbox中,不pipe你想要什么。

 Public Sub makeMore() Dim looper As Integer, colloop As Integer, numcols As Integer numcols = Cells(15, 15).Value For colloop = 2 To numcols For looper = 1 To 4 ActiveSheet.Cells(looper, colloop).Value = ActiveSheet.Cells((looper + colloop - 2) Mod numcols + 1, 1).Value Next looper Next colloop End Sub 

伪代码解决scheme

 Get reference to the data range Copy range data to a variant array Get reference to output range for i = 1 to number of output sets write array to sheet rotate array data offset output range reference next i 

去编码这个,如果你卡住了,请回复