用VBA迭代表中的所有行和列

我在工作表中有一个表,我想迭代并更改使用我设置的函数的值。 该函数只是调用多个Replace函数来更改string。

我的问题是如何迭代表中的值?

我能够用列使用下面的代码:

For Each cell In Sheets("RawData").ListObjects("RawTable").ListColumns("REQUESTNAME").DataBodyRange.Cells cell.Value = decodeEnt(cell.Value) Next 

但是,如何修改该代码以使其遍历行呢? 我尝试使用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 

任何帮助表示赞赏。

我认为你不能使用这样的变体迭代,你必须使用索引迭代。 像这样(未经testing):

 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 
 Dim Cell as Range For Each Cell in listObj.DataBodyRange ...