У меня есть отчет, который загружается с клиентского SharePoint.Отчет варьируется по длине в зависимости от сайта и временного диапазона, для которого я его запускаю.Большинство элементов встречаются там, где их информация аккуратно разложена в столбцах по одной строке для каждого элемента, но в случае раздельного решения это решение помещается в несколько строк и не сохраняет другую необходимую информацию в этих строках.Я пытаюсь взять разделенные диспозиции и найти цикл в следующих строках, чтобы скопировать количества и вставить их в столбцы в зависимости от их расположения.
У меня настроен внешний цикл, и он работает.Когда я настраиваю внутренний цикл, он не берет значение внешнего цикла и не добавляет к нему 1 строку.
Sub Split_Dispositions_One_Line()
Dim LastRow As Integer
Dim i As Integer
i = x + i
LastRow = Worksheets("Data").UsedRange.Rows.Count
With Worksheets("Data")
For x = 1 To LastRow
If InStr(Range("Y" & x).Value, "Split Disposition") Then
Do While Application.WorksheetFunction.IsText(Range("AI" & i).Value)
If InStr(Range("AI" & i).Value, "Release to Good Inventory") Then
Range("AH" & i).Copy Range("AK" & x)
ElseIf InStr(Range("AI" & i).Value, "Donate") Then
Range("AH" & i).Copy Range("AL" & x)
ElseIf InStr(Range("AI" & i).Value, "Destroy, Landfill") Then
Range("AH" & i).Copy Range("AM" & x)
ElseIf InStr(Range("AI" & i).Value, "Destroy, Animal Feed") Then
Range("AH" & i).Copy Range("AN" & x)
ElseIf InStr(Range("AI" & i).Value, "Return To Plant") Then
Range("AH" & i).Copy Range("AO" & x)
End If
Loop
End If
Next x
End With
End Sub
Моя цель - циклически проходить по строкам и, когда я сталкиваюсь, «Разделить расположение»"в столбце Y он затем перейдет во внутренний цикл, опустится на 1 строку вниз от того места, где он обнаружил" Разделить расположение "в Y, и проведет цикл по этим строкам, и если AI содержит текст, он скопирует значение в AH и вставит его в столбецэто соответствует AH в исходной строке, где он обнаружил «Разбить расположение» в столбце Y. Число этих строк различается, но они всегда располагаются одна за другой.
Сказано по-разному, если цикл находит «Разбить расположение»"в ячейке Y5 внутренний цикл начнется с AI6, если у него есть текстовая копия AH6 и вставка в столбец AK5, тогда, если AI7 содержит текст, он скопирует AH7 и может вставить его в AL5 (если этот столбец соответствует AH7).