Tester si une cellule est vide en VBA

Je suis en train d'écrire un module VBA pour prendre une feuille de calcul contenant la structure d'un site web et de sortie dans une feuille de calcul à deux colonnes (colonne 1) le nom d'une page, et (colonne 2) la section du site que la page est en. (Pour que je puisse en faire usage dans Visio)

Ma feuille de calcul existante contient une structure comme ceci:

Root / Section / Sub-section / Page
Root / Section / Page
Root / Section / Sub-section / Sub-section / Page

c'est à dire chaque ligne affiche la page des ancêtres dans les colonnes à gauche, mais il y a différents niveaux de la structure ce qui complique les choses.

Je suis en train de faire une boucle par la présente, à partir de la colonne 7 (le niveau le plus profond de la navigation), et en boucle gauche premier temps, pour trouver une cellule non vide, et la copie de la cellule et son parent dans ma nouvelle feuille. Une fois qu'il frappe la colonne 2, je veux descendre, car il contient de la racine; cela continue jusqu'à la dernière ligne à 562.

Mon code est ci-dessous, mais il me fait une erreur sur mon Tout Isempty en ligne". Qu'ai-je fait de mal?

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
InformationsquelleAutor Doug | 2013-05-24