用一个或零填充交错的细胞群

我想在Excel中用1填充从1到n的列(比如n = 2000)。 无论如何,在Excel中编程得到这个?

例如:4行和10000列。 第一个2000列第一行有1个,第二行2000个有1个,依此类推。

1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 

PS:我需要这个解决多类分类问题。

设置参数后,一个简单的for / next循环与一些math的每行偏移量就足够了。

 Sub fill_cols() Dim r As Long, cs As Long, rs As Long, lc As Long rs = 4 cs = 2000 lc = 10000 With ActiveSheet If lc > Columns.Count Then For r = 1 To rs .Cells(1, r).Resize(lc, 1) = 0 .Cells(1, r).Offset((r - 1) * cs, 0).Resize(cs, 1) = 1 Next r Else For r = 1 To rs .Cells(r, 1).Resize(1, lc) = 0 .Cells(r, 1).Offset(0, (r - 1) * cs).Resize(1, cs) = 1 Next r End If End With End Sub 

如果请求的列超过工作表中的最大列,我已经添加了列的换位,反之亦然。