VBA填充整个表格而不是定义的单元格

我遇到了一个疯狂的问题,我不明白,我还没有find解决办法。

首先,我有一个excelmacros,根据其他工作簿的信息填充工作簿上的各种工作表。 我想包含超链接到网站,包含在一个工作簿中的指定单元格中的值,而只显示值。 我尝试插入公式如下

=HYPERLINK("https://example.com/value","value") 

这个超链接只适用于特定的单元格,所以它应该只出现在条件为真的地方。 现在疯狂的部分:如果我填充单元格,我想插入一个普通的string或int的超链接,它工作得很好,VBA只填充我指定的单元格。 当我插入一个超链接时,它填满了我的工作表上的整个列,尽pipe其他一切都以相同的方式保存。 请find下面的代码片段:

 RequestID = Workbook1.ActiveSheet.Cells(i, 1).Text 'Request number Workbook2.Sheets("Sheet1").Cells(y, 4) = RequestID 

这只会填充正确的请求编号的单元格(y,4),如预期的那样

 Workbook2.Sheets("Sheet1").Cells(y, 4) = "RequestID" 

这只用string“RequestID”填充单元格(y,4),如预期的那样

  Workbook2.Sheets("Sheet1").Cells(y, 4) = "=HYPERLINK(" & Chr(34) &"https://example.com/" & RequestID & Chr(34) & "," & Chr(34) & RequestID & Chr(34) & ")" 

这填补了我的整个表格,除了正确的超链接的标题。

我真的不明白为什么,我不能想到任何可能的问题。 也许这里有人提示我,或者知道解决方法。

它使用正常的细胞时,如我所料的工作。 但是,当我在格式化表(也称为ListObject)中尝试它时,它填充整个列,因为它是一个公式,而不是一个值。 如果是这种情况,请尝试设置

Application.AutoCorrect.AutoFillFormulasInLists = False

在将超链接放入单元格之前(然后将其设置为True)