我正在使用由大量工作表组成的工作簿,每个工作表只有一个命名范围,其中包含许多用于用户输入的未锁定单元格(在受限制单元格的命名范围内有一些锁定单元格)。我曾经使用以下代码来填充这些工作簿:
Sub LoopFillAuto()
Dim Nm As Name
CurrentValue = 0
For Each Nm In ActiveWorkbook.Names
For Each myRange In Nm.RefersToRange.Cells
If Not myRange.Locked Then
myRange.Value = CurrentValue
CurrentValue = CurrentValue + 1
End If
Next
Next
End Sub
上面将填充工作簿IN SEQUENCE中的工作表和工作表中的单元格,所有未锁定的单元格都以1为增量值(从零开始),以便工作簿中的每个未锁定单元格都具有唯一性,并按顺序,价值。然后可以使用Excel插件处理工作簿以生成输出。这使得通过眼睛检查这些工作簿生成的任何输出是否具有缺失值非常容易,因为在输出序列中很容易识别丢失的数字,例如1,2,3,5。
我现在不得不使用包含大量命名范围的工作簿,每个工作表都有数百个单独的,唯一的和随机命名的范围,这些范围在整个工作簿中不是任何顺序。当使用上述内容来填充这些新工作簿中的一个时,工作簿中的每个单元格都将具有唯一值,但单元格中的值将不会按顺序进行,以检查是否存在丢失输出更困难,例如214,6,586,85。
是否有办法更改代码,以便它仍然按顺序填充工作表和单元格,就像使用较旧的,更有序的工作簿一样?