我正在尝试在 VBA 中编写一个模块来获取包含网站结构的工作表并将其输出到工作表中的两列(第 1 列)页面名称和(第 2 列)网站的部分页面在。(所以我可以在 Visio 中使用它)
我现有的工作表包含这样的结构:
Root / Section / Sub-section / Page
Root / Section / Page
Root / Section / Sub-section / Sub-section / Page
即每一行在左边的列中显示页面的祖先,但是结构复杂化的问题有不同的层次。
我试图遍历这个,从第 7 列(最深的导航级别)开始,最初向左循环以找到一个非空单元格,然后将该单元格及其父单元格复制到我的新工作表中。一旦它到达第 2 列,我希望它向下移动,因为它包含根;这一直持续到最后一行 562。
我的代码在下面,但它在我的“While Isempty”行上给了我一个错误。我做错了什么?
Sub directDescendent()
Dim readCol As Integer
Dim readRow As Integer
Dim writeRow As Integer
readCol = 7
readRow = 2
writeRow = 2
While readRow < 562
While IsEmpty(ActiveWorkbook.Sheets(2).Cells(readRow, readCol).Value)
readCol = readCol - 1
Wend
If readCol < 3 Then
readCol = 7
readRow = readRow + 1
End If
ActiveWorkbook.Sheets(3).Cells(writeRow, 1).Value = ActiveWorkbook.Sheets(2).Cells(readRow, readCol).Value
ActiveWorkbook.Sheets(3).Cells(writeRow, 2).Value = ActiveWorkbook.Sheets(2).Cells(readRow, readCol - 1).Value
writeRow = writeRow + 1
Wend
End Sub