如何用变量数据填充 Excel 中的列?

如何用变量数据填充 Excel 中的列?

我想用从 600001 到 800000 的数字填充第一个 A1 列。达到 2000 后,应该有 10 个单元格带有“######”或零或类似的内容。

例子:

601999 
602000
"######" (ten times)
602001
.
.
604000
"######" (ten times)
and so on...

每2000年之后应该都是这样

您知道这个问题的解决办法吗?

先感谢您!

答案1

将以下内容复制到 1-200990 行(如果希望######行位于底部,则复制到 1-201000 行):

=IF(MOD(ROW()-1,2010)>=2000,"######",INT((ROW()-1)/2010)*2000+MOD(ROW(),2010)+600000)

它的工作原理是识别每 2010 行的最后 10 个单元格并在其中写入填充文本,然后从其他单元格的数字计算中消除多余的 10 行。

因为这会生成文本和数字的混合,默认情况下会具有相反的对齐方式,所以您可能需要将整个列左对齐或右对齐;或者您可以使用以下方法将数字转换为文本:

=IF(MOD(ROW()-1,2010)>=2000,"######",TEXT(INT((ROW()-1)/2010)*2000+MOD(ROW(),2010)+600000,"######"))

如果有列标题,则需要在计算中添加偏移量。

答案2

类似这样的方法可能会有效:

myRow = 1
r = 600001

For i = 1 to 100
    for j = 1 to 2000
        Range("A", myRow).value = r
        r = r+1
        myRow = myRow + 1
    next j
    for k = 1 to 10
        Range("A", myRow).value = "######"
        myRow = myRow + 1
    next k
Next i

相关内容