下面的代码旨在将文本字符串转换为一个工作表中的简洁数组,但它会不断更改工作簿中其他工作表中的文本。
我通过评论C:\xampp\htdocs\jsonproject\tests\>phpunit NotesTest.php
PHPUnit 5.7.21 by Sebastian Bergmann and contributors.
.. 2 / 2 (100%)
Time: 740 ms, Memory: 10.00MB
OK (2 tests, 7 assertions)
和#below
突出显示了我认为问题出现的问题。
如何仅在指定的工作表上运行?
#above
答案 0 :(得分:1)
在下方部分中,您有这个循环:
For Each sht In ActiveWorkbook.Worksheets
sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next sht
这表示您正在为所有工作表执行Replace
。
将其更改为:
Set sht = ThisWorkbook.Sheets("YourSheetName") '<-- modify to your sheet's name
sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
另外,为了安全起见,对于上方部分,请使用Range
完全限定sht
个对象。见下面的例子:
With sht
.Range("A1") = "Account"
.Range("C1") = "Balance"
.Range("D1") = "KP"
' rest of your code
End With