Добрый день!
Помогите, пожалуйста, сама зашла в тупик. Второй день бьюсь.
Итак. Существует некий макрос, который при выполнении определенных условий копирует данные из нескольких листов в один сводный (точнее два макроса, но это несущественные детали):
Sub TR()
Dim i, j, n, p As Integer
For i = 18 To 2000 Step 1
If Cells(i, 1) = "Торговая Дебиторская задолженность" Then
Sheet60.Cells(m, 2) = Cells(i, 2)
Sheet60.Cells(m, 3) = Cells(i, 3)
Sheet60.Cells(m, 4) = Cells(i, 4)
Sheet60.Cells(m, 5) = Cells(i, 5)
Sheet60.Cells(m, 6) = Cells(i, 6)
Sheet60.Cells(m, 7) = Cells(i, 7)
Sheet60.Cells(m, 8) = Cells(i, 8)
Sheet60.Cells(m, 9) = Cells(i, 9)
Sheet60.Cells(m, 10) = Cells(i, 10)
Sheet60.Cells(m, 11) = Cells(i, 11)
Sheet60.Cells(m, 12) = Cells(i, 12)
Sheet60.Cells(m, 13) = Cells(i, 13)
Sheet60.Cells(m, 14) = Cells(i, 14)
Sheet60.Cells(m, 15) = Cells(i, 15)
Sheet60.Cells(m, 16) = Cells(i, 16)
Sheet60.Cells(m, 17) = Cells(i, 17)
Sheet60.Cells(m, 18) = Cells(i, 18)
Sheet60.Cells(m, 19) = Cells(i, 19)
Sheet60.Cells(m, 20) = Cells(i, 20)
Sheet60.Cells(m, 21) = Cells(i, 21)
Sheet60.Cells(m, 22) = Cells(i, 22)
Sheet60.Cells(m, 23) = Cells(i, 23)
Sheet60.Cells(m, 24) = Cells(i, 24)
Sheet60.Cells(m, 25) = Cells(i, 25)
Sheet60.Cells(m, 26) = Cells(i, 26)
Sheet60.Cells(m, 27) = Cells(i, 27)
m = m + 1
End If
Next i
End Sub
В принципе, он работает, Но очень медленно. А не получается у меня заменить длинный столбец одной строчкой. Я пыталась цикл еще один написать, столбец через переменную j обозначить и значения ей присвоить от 2 до 27.
Sub TR()
Dim i, j, n, p As Integer
For i = 18 To 2000 Step 1
For j = 2 To 27 Step 1
If Cells(i, 1) = "Торговая Дебиторская задолженность" Then
Sheet60.Cells(m, j) = Cells(i, j)
m = m + 1
End If
Next j
Next i
End Sub
так он мне все данные по разным строкам разносить начал. А что я не так делаю, понять не могу. Помогите, пожалуйста!!! (Пример прилагаю).
Заранее всем благодарна.