Я собираю быстрый скрипт для компиляции некоторых данных из таблицы в более «загружаемый» формат.У меня есть тройной цикл For для циклического перебора 6 рабочих листов, просматривая имена «кластеров» в диапазоне A2: A100 и выбирая номера ветвей в каждом «кластере» в диапазоне, определенном ниже как H1, J1, L1 и т. Д.
Код компилируется, но не пропускает пустые ячейки.Если найден пустой номер ветви, я бы хотел, чтобы скрипт перешел к следующему кластеру, и если будет найден пустой кластер, чтобы он перешел на следующий лист, пока он не завершит просмотр всех 6.
Данные, которые я хотел бы выводить по столбцам: Имя кластера |Скидка |Номер ветви, и мой скрипт в настоящее время возвращает все три поля, когда номер ветви считается пустым, когда его следует пропустить!Я надеюсь это имеет смысл.Мой код ниже - не могли бы вы взглянуть и сообщить, что случилось?
Sub Clusterise()
Dim WSCount, Sheet As Integer
Dim Counter, CCounter As Integer
Dim Clusters, C As Range
Dim Branches, B As Range
Counter = 0
WSCount = ActiveWorkbook.Worksheets.Count
For Sheet = 2 To WSCount
Set Clusters = Worksheets(Sheet).Range("A2:A100")
Set Branches = Worksheets(Sheet).Range("H1, J1, L1, ...etc. up to BN1") 'Too long to display it all
CCounter = 1
For Each C In Clusters
If Not IsEmpty(C) Then
For Each B In Branches
If Not IsEmpty(B.Offset(CCounter, 0)) Then
Sheets("Clusterisor").Range("A1").Offset(Counter, 0) = C.Value
Sheets("Clusterisor").Range("B1").Offset(Counter, 0) = C.Offset(0, 5).Value
Sheets("Clusterisor").Range("C1").Offset(Counter, 0) = B.Offset(CCounter, 0).Value
Counter = Counter + 1
End If
Next B
CCounter = CCounter + 1
End If
Next C
Next Sheet
End Sub