Страницы: 1
RSS
Копировать данные на другой лист при выполнении условия
 
Есть макрос VBA.
В чем смысл: имеется таблица данных (лист TinK), в нем работает цикл, который переносит данные из TinK на лист ws2. Нужно условие, чтобы он делал это только если значение ячейки по строке в колонке 5 было меньше нуля. Если больше нуля, то чтобы ничего не переносил и переходил к следующей строке

Написал такой код:
Код
Dim wsTinK  As Worksheet
  Set wsTinK = Application.ThisWorkbook.Sheets("TinK")

Dim ws2  As Worksheet
  Set ws2 = Application.ThisWorkbook.Sheets("ws2")

Dim i As Integer ' Переменная для номера строки
Dim j As Integer ' Переменная для номера столбца

i = 1
j = 1

If wsTinK.Cells(i + 1, 5) < 0 Then
  Do While wsTinK.Cells(i + 1, 1) <> ""
      ws2.Cells(10, 7) = wsTinK.Cells(i + 1, 5)

      i = i + 1
      Loop
Else
  i = i + 1
End If

Перенос работает великолепно, но условие "если" не срабатывает :(

Подскажите, пожалуйста, что не так и как это исправить?
Изменено: programmistVBA1C - 23.02.2020 15:47:55 (Опечатка)
 
Код
Sub jjj()
    Dim wsTinK  As Worksheet, ws2  As Worksheet
    Dim i As Long, j As Long

    Set wsTinK = ThisWorkbook.Sheets("TinK")
    Set ws2 = ThisWorkbook.Sheets("ws2")

    For i = 1 To 20 ' до какой строки?
        If wsTinK.Cells(i, 5).Value < 0 Then
            ''''
        End If
    Next i
End Sub
 
Да эту тему вообще нужно удалить - тут нет никакой проблемы с ЕСЛИ, тут проблема с пониманием кода и логикой, ЕСЛИ там должно отработать, один раз. Если конечно есть такие листы.
 
Цитата
Hugo написал: тут проблема с пониманием кода и логикой
Не может быть! Ведь programmistVBA1C :)
 
Цитата
programmistVBA1C написал:
Перенос работает великолепно, но условие "если" не срабатывает
- это вот как? "Перенос" как раз внутри этого ЕСЛИ :)
 
vikttur, cпасибо, помогло! :)

Цитата
Hugo написал: - это вот как? "Перенос" как раз внутри этого ЕСЛИ
Сложно сказать, но действительно работало...

Цитата
vikttur написал: Ведь  programmistVBA1C  
Первое, что пришло на ум. По факту только новичок)

8)  
Страницы: 1
Наверх