Mo2*_*Mo2 4 excel vba excel-vba
我在工作表中有一张表,要对其进行迭代并更改使用已设置的功能的值。该函数仅调用多个Replace函数来更改字符串。
我的问题是如何仅对表中的值进行迭代?
我能够使用以下代码对列进行操作:
For Each cell In Sheets("RawData").ListObjects("RawTable").ListColumns("REQUESTNAME").DataBodyRange.Cells
cell.Value = decodeEnt(cell.Value)
Next
Run Code Online (Sandbox Code Playgroud)
但是,如何修改该代码以使其遍历行呢?我尝试使用ListRows和ListColumns的组合,但不知道麻烦到哪里去。这是我不确定之前去过的地方:
Dim listObj As ListObject
Set listObj = Sheets("RawData").ListObjects("RawTable")
For Each tableRow In listObj.ListRows
For Each tableCol In listObj.ListColumns
' Would using intersect work here?
' listObj.Cell.Value = decodeEnt(cell.Value)
Next
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我认为您不能使用这样的变体迭代,您必须使用索引迭代。像这样的东西(未经测试):
Dim listObj As ListObject, r%, c%
Set listObj = Sheets("RawData").ListObjects("RawTable")
For c = 1 To listObj.ListColumns.Count
For r = 1 To listObj.ListRows.Count
listObj.DataBodyRange.Cells(r, c).Value = decodeEnt(listObj.DataBodyRange.Cells(r, c).Value)
Next
Next
Run Code Online (Sandbox Code Playgroud)
Dim Cell as Range
For Each Cell in listObj.DataBodyRange
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13968 次 |
| 最近记录: |