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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2016, 07:23   #1
Alex32ultra
Новичок
Джуниор
 
Регистрация: 02.04.2016
Сообщений: 2
По умолчанию Замена цикла VBA.

Здравствуйте все! Помогите пожалуйста, как реализовать данный цикл через For Each
Изображения
Тип файла: png Снимок.PNG (2.9 Кб, 90 просмотров)
Alex32ultra вне форума Ответить с цитированием
Старый 04.04.2016, 08:44   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно перебрать все строки диапазона, но всё равно придётся использовать счётчик, чтоб обращаться к массивам, т.е. нет смысла в for each.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.04.2016, 19:01   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цикл вообще не нужен
Код:
  M = WorksheetFunction.Transpose(Cells(3, 3).Resize(kk).Value)
  C = WorksheetFunction.Transpose(Cells(3, 4).Resize(kk).Value)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 04.04.2016, 23:17   #4
Alex32ultra
Новичок
Джуниор
 
Регистрация: 02.04.2016
Сообщений: 2
По умолчанию

Я понимаю ,что есть удобные варианты и без цикла, и с циклов for next работает хорошо, но задача реализовать именно через for each, мог бы кто нибудь хотя бы намекнуть, как это сделать?
Alex32ultra вне форума Ответить с цитированием
Старый 05.04.2016, 00:55   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

что уж тут намекать, я напишу прямо:
Код:
  Dim cL As Range, H(), C(), i As Long, kk As Long
  kk = 7:  i = 1
  ReDim H(1 To kk):  ReDim C(1 To kk)
  For Each cL In Worksheets(1).Cells(3, 3).Resize(kk, 1).Cells
    H(i) = cL.Value: C(i) = cL.Offset(0, 1).Value: i = i + 1
  Next
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA замена ячеек CkooTuHa Microsoft Office Excel 1 04.05.2015 19:56
vb замена цикла muham33 Помощь студентам 1 29.01.2013 10:29
Замена символа(VBA) Mnsh Помощь студентам 1 29.12.2011 21:42
Составление цикла в VBA Excle thefair Microsoft Office Excel 10 16.05.2011 21:23
замена цикла SkyL1ne Помощь студентам 19 12.05.2010 19:50