希望这是有意义的。我创建了一个宏,它将从主表中读取信息,根据分析物的名称创建工作表,然后在创建工作表后,它将8个信息单元格从主表转移到新创建的分析物表中。
在我的计算机上,当我使用step-into运行我的代码时,当运行Set NewAnalyte = Table.ListRows.Add行时,将创建一个新行,并且表的6行已经用表的第一行中找到的任何信息填充,然后随着set语句的with部分的运行,这些数据将被覆盖。
在每台其他计算机上,当我使用单步执行运行代码时,当运行行Set NewAnalyte = Table.ListRows.Add时,将创建一个新行,并且表的6行已经用表的第一行中找到的任何信息填充,然后所有数据都会随着set语句的with部分的运行而被覆盖。例如,我的表中有3个条目,当对第三个条目运行with语句时,该行上的所有条目都会同时被覆盖。
当在我的计算机上运行时,所有条目都不同,就像它们应该是的一样。在所有其他计算机上,所有条目都类似于表中的最终条目,这是不应该发生的。excel文件存储在网络区域中,每个人都访问相同的文件。该文件不包含外部引用(仅限Activeworkbook)。
希望有人能帮助我,因为我不明白为什么会发生这样的事情。
1)我已尝试确保excel版本和windows版本与创建代码的版本相同(不起作用)。
For Each Cell In AnalyteName
If Cell.Interior.ColorIndex <> 35 Then
WorkSheetName = Cell.Value
For Each ws In wb.Worksheets
If WorkSheetName = ws.Name Then
Set Table = ws.ListObjects(WorkSheetName)
Set NewAnalyte = Table.ListRows.Add
With NewAnalyte
.Range(1) = "='Standard List '!" + Cell.Offset(0, -1).Address
.Range(2) = "='Standard List '!" + Cell.Offset(0, 1).Address
.Range(3) = "='Standard List '!" + Cell.Offset(0, 2).Address
.Range(4) = "='Standard List '!" + Cell.Offset(0, 3).Address
.Range(5) = "='Standard List '!" + Cell.Offset(0, 4).Address
.Range(6) = "='Standard List '!" + Cell.Offset(0, 5).Address
End With
Range(Cell.Offset(0, -2), Cell.Offset(0, 5)).Interior.ColorIndex = 35
End If
Next ws
End If
Next Cell发布于 2019-08-01 05:34:48
在设置公式时,请尽量明确一点:
With NewAnalyte.Range
.Cells(1).Formula = "='Standard List '!" + Cell.Offset(0, -1).Address
.Cells(2).Formula = "='Standard List '!" + Cell.Offset(0, 1).Address
.Cells(3).Formula = = "='Standard List '!" + Cell.Offset(0, 2).Address
'etc
End Withhttps://stackoverflow.com/questions/57299043
复制相似问题