Private Sub Worksheet_Activate()
Dim I As Integer, K As Integer, List1 As String
List1 = "Sheet1" 'ime na purvi list. promeni go kakto e pri tebe
For I = 18 To 57 'iztriva stari danni ako ima v list2
cells(i,1).value=""
cells(i,2).value=""
Next I
K = 17
For I = 22 To 57 'obhod na list1
If Sheets(List1).Cells(I, 2).Value > 0 Then
K = K + 1 'poreden red v list 2
Cells(K, 1) = Sheets(List1).Cells(I, 1).Value
Cells(K, 2) = Sheets(List1).Cells(I, 2).Value
End If
Next I
End Sub
Тази процедура е във втория лист и се изпълнява, когато се активира листа.
При мене върши работа. С офис пакет 2003 съм го тествал.
В първия лист имаш 57-18=39 реда макс.
А на втория си предвидил място 57-22=35 реда.
Трябва да предвидиш вариант ако всички от лист1 се прехвърлят в лист2. Да не вземе нещо да се сгъбяса с другите кутийки надолу , ако са запълнени с нещо друго.
А ако предклавиатурното устройство вземе, че въведе нещо на 58 ред? И други проверчици...Ти си знаеш заданието все пак....Редактирано от BatiGogo на 21.01.16 22:36.