Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2013, 09:35   #1
DAN1L
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 52
Восклицание Скопировать положительные числа

Нужно скопировать только положительные числа с листа 1 на лист 2, начиная с ячейки а2 по а14.
Код:
Private Sub CommandButton1_Click()
i = 6: j = 1
Do
a = Cells(i, 2).Value
If a > 0 Then j = j + 1
Sheets("Лист2").Cells(j, 1) = a
i = i + 1
Loop While a > 0
End Sub
что не правильно? подправьте пожалуйста

Последний раз редактировалось DAN1L; 25.01.2013 в 09:41.
DAN1L вне форума Ответить с цитированием
Старый 25.01.2013, 09:55   #2
DAN1L
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 52
По умолчанию

Это вопрос жизни и смерти!) Пожалуйста)
DAN1L вне форума Ответить с цитированием
Старый 25.01.2013, 09:59   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Sub CellsCopy()
  Dim Src As Range
  Set Src = Nothing
  For Each R In [A2:A14].Cells
    If R > 0 Then
      If Src Is Nothing Then
        Set Src = R
      Else
        Set Src = Union(Src, R)
      End If
    End If
  Next R
  If Not Src Is Nothing Then
    Src.Copy Sheets("ëèñò2").[A2]
  End If
End Sub
Попробуйте такой вариант.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 25.01.2013, 10:02   #4
DAN1L
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 52
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Код:
Sub CellsCopy()
  Dim Src As Range
  Set Src = Nothing
  For Each R In [A2:A14].Cells
    If R > 0 Then
      If Src Is Nothing Then
        Set Src = R
      Else
        Set Src = Union(Src, R)
      End If
    End If
  Next R
  If Not Src Is Nothing Then
    Src.Copy Sheets("ëèñò2").[A2]
  End If
End Sub
Попробуйте такой вариант.
Не работает(
DAN1L вне форума Ответить с цитированием
Старый 25.01.2013, 10:11   #5
DAN1L
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 52
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Код:
Sub CellsCopy()
  Dim Src As Range
  Set Src = Nothing
  For Each R In [A2:A14].Cells
    If R > 0 Then
      If Src Is Nothing Then
        Set Src = R
      Else
        Set Src = Union(Src, R)
      End If
    End If
  Next R
  If Not Src Is Nothing Then
    Src.Copy Sheets("ëèñò2").[A2]
  End If
End Sub
Попробуйте такой вариант.
простите пожалуйста, все работает, могли бы вы объяснить как это работает

Цитата:
For Each R In [A2:A14].Cells
If R > 0 Then
If Src Is Nothing Then
Set Src = R
Else
Set Src = Union(Src, R)
End If
End If
Next R
DAN1L вне форума Ответить с цитированием
Старый 25.01.2013, 11:02   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
For Each R In [A2:A14].Cells
цикл по всем ячейкам диапазона A2:A14 текущего листа
Код:
If R > 0 Then
если в текущей ячейке положительное значение
Код:
If Src Is Nothing Then
если диапазон результата пустой, тогда
Код:
Set Src = R
присвоим диапазону результата текущую ячейку
Код:
Else
Set Src = Union(Src, R)
иначе объединим диапазон результата с текущей ячейкой. (т.е. включим текущую ячейку в диапазон результата)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random. отрицательные и положительные числа Seran4ek Общие вопросы Delphi 10 18.03.2014 22:16
PascalABC Даны действительные положительные числа Александр~ Паскаль, Turbo Pascal, PascalABC.NET 2 20.12.2012 13:44
[Java] Положительные делители натурального числа turtles Помощь студентам 2 23.09.2011 10:16
Квадратное уравнение...(Положительные числа) Неопытный Помощь студентам 4 14.11.2010 23:37
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49