Excel - 将行分成1000个批次

时间:2010-11-01 12:26:18

标签: excel vba excel-vba

我有50,000个文件的列表(完整文件路径)。我想将这些文件重新排序到文件夹中,使用批处理文件将每个文件夹放入1,000个文件。

文件夹只需要命名为000,001,0000,003等。我只需要Excel为前1000个文件写“000”,为下一千个文件写001,为下一千个写入002,直到没有更多文件。

我已尝试过Do While但无法得到我想要的东西。我可以得到一些我想要的东西:

Do While i < 1001
Range("A" & i) = "'000"

但是这会因为我需要为一个数字中的每个附加数字做一个新的Do While而崩溃,并且当文件列表用完时它不会停止。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

试试这个

Sub a()
  Dim i, j As Long                         'Integers go only up to 32K
  Dim s As String
  For i = 1 To 50000
    Range("A" & i).NumberFormat = "@"      'Show as text , to show leading zeroes
    j = Int((i - 1) / 1000)                'Calculate the batch number for this Cell
    s = CStr(j)                            '...and To String
    Range("A" & i) = Mid("000", 1, 3 - Len(s)) + s  'Fill with leading zeroes
  Next i
End Sub