Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запуск цикла - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск цикла (Макросы Sub)
Запуск цикла
Kinder Дата: Среда, 11.12.2013, 18:27 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Добрай вечер.
Подскажите пожалуйста как запустить первый цикл.
Спасибо.

[vba]
Код
Sub ll()
Dim i As Long, k As Long

Set fr = Worksheets("Форма")
For k = 13 To fr.Range("I500") Step 67
For i = 13 To fr.Range("I13").End(xlDown).Row
Next i
If fr.Range("I" & i) = "" Then: fr.Range("H" & i + 1) = "Сумма"
Next k

End Sub
[/vba]


"И все таки она вертится!"

Сообщение отредактировал Kinder - Среда, 11.12.2013, 19:02
 
Ответить
СообщениеДобрай вечер.
Подскажите пожалуйста как запустить первый цикл.
Спасибо.

[vba]
Код
Sub ll()
Dim i As Long, k As Long

Set fr = Worksheets("Форма")
For k = 13 To fr.Range("I500") Step 67
For i = 13 To fr.Range("I13").End(xlDown).Row
Next i
If fr.Range("I" & i) = "" Then: fr.Range("H" & i + 1) = "Сумма"
Next k

End Sub
[/vba]

Автор - Kinder
Дата добавления - 11.12.2013 в 18:27
KuklP Дата: Среда, 11.12.2013, 18:44 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
В огороде бузина, в Киеве дядька..
For k = 13 To fr.Range("I500")

Как в армии: копать от меня и до обеда :D То же от 13 до диапазона. Больше чем помочь? Пример выкладывайте с пояснениями: чего надо.
P.S. И уже пора бы знать, где находится кнопка оформления кода.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 11.12.2013, 18:45
 
Ответить
СообщениеВ огороде бузина, в Киеве дядька..
For k = 13 To fr.Range("I500")

Как в армии: копать от меня и до обеда :D То же от 13 до диапазона. Больше чем помочь? Пример выкладывайте с пояснениями: чего надо.
P.S. И уже пора бы знать, где находится кнопка оформления кода.

Автор - KuklP
Дата добавления - 11.12.2013 в 18:44
SkyPro Дата: Среда, 11.12.2013, 18:48 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
For k = 13 To fr.Range("I500") 'Как в армии: копать от меня и до обеда
[/vba]
Это прям шедевр :)
Хотя должно работать.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Среда, 11.12.2013, 18:49
 
Ответить
Сообщение[vba]
Код
For k = 13 To fr.Range("I500") 'Как в армии: копать от меня и до обеда
[/vba]
Это прям шедевр :)
Хотя должно работать.

Автор - SkyPro
Дата добавления - 11.12.2013 в 18:48
Kinder Дата: Среда, 11.12.2013, 18:54 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Спасибо за ответ!
Пытаюсь освоть циклы))
В каждом диапазоне отмеченым черной линией есть данные.
В столбце "Н" надо надо проставить слово сумма чтобы она встала ниже данных в каждом диапазоне.
В примере показал как должно быть.
Спасибо.
К сообщению приложен файл: _-.xlsm (70.9 Kb)


"И все таки она вертится!"
 
Ответить
СообщениеСпасибо за ответ!
Пытаюсь освоть циклы))
В каждом диапазоне отмеченым черной линией есть данные.
В столбце "Н" надо надо проставить слово сумма чтобы она встала ниже данных в каждом диапазоне.
В примере показал как должно быть.
Спасибо.

Автор - Kinder
Дата добавления - 11.12.2013 в 18:54
KuklP Дата: Среда, 11.12.2013, 19:12 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
     Dim a As Range
     For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
     ActiveSheet.[g:g]).SpecialCells(2).Areas
         a.Cells(a.Count)(3, 2).Value = "Сумма:"
     Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
     Dim a As Range
     For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
     ActiveSheet.[g:g]).SpecialCells(2).Areas
         a.Cells(a.Count)(3, 2).Value = "Сумма:"
     Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 11.12.2013 в 19:12
KuklP Дата: Среда, 11.12.2013, 19:14 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Хотя должно работать.
Ни капли не должно. Можете убедиться.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Хотя должно работать.
Ни капли не должно. Можете убедиться.

Автор - KuklP
Дата добавления - 11.12.2013 в 19:14
Kinder Дата: Среда, 11.12.2013, 19:17 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Огромное спасибо!
Не могли бы вы закоментировать код?
И за рамкой диапазонов тоже проставляется сумма. Как раз гда надпись какая это страница.
Спасибо!


"И все таки она вертится!"
 
Ответить
СообщениеОгромное спасибо!
Не могли бы вы закоментировать код?
И за рамкой диапазонов тоже проставляется сумма. Как раз гда надпись какая это страница.
Спасибо!

Автор - Kinder
Дата добавления - 11.12.2013 в 19:17
KuklP Дата: Среда, 11.12.2013, 19:50 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Тогда так:
[vba]
Код
Public Sub www()
      Dim a As Range
      'перебираем все занятые участки столбца Д
      For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
      ActiveSheet.Columns(4)).SpecialCells(2, 3).Areas
          a(a.Count)(3, 5).Value = "Сумма:"
      'в конце участка со смещением ставим сумму
      Next
End Sub
[/vba]
Прокомментировал, как мог. Если какое-то слово непонятно, в справке все это есть.
Из меня поганый комментатор :(
К сообщению приложен файл: 234-1-.xlsm (69.2 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 11.12.2013, 19:53
 
Ответить
СообщениеТогда так:
[vba]
Код
Public Sub www()
      Dim a As Range
      'перебираем все занятые участки столбца Д
      For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
      ActiveSheet.Columns(4)).SpecialCells(2, 3).Areas
          a(a.Count)(3, 5).Value = "Сумма:"
      'в конце участка со смещением ставим сумму
      Next
End Sub
[/vba]
Прокомментировал, как мог. Если какое-то слово непонятно, в справке все это есть.
Из меня поганый комментатор :(

Автор - KuklP
Дата добавления - 11.12.2013 в 19:50
SkyPro Дата: Среда, 11.12.2013, 19:57 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Ни капли не должно. Можете убедиться.

Если в ячейке целое число больше чем 13, то будет.

ЗЫ: [vba]
Код
a(a.Count)(3, 5).Value
[/vba] не знал, что offset можно так записать. Спасибо :)


skypro1111@gmail.com
 
Ответить
Сообщение
Ни капли не должно. Можете убедиться.

Если в ячейке целое число больше чем 13, то будет.

ЗЫ: [vba]
Код
a(a.Count)(3, 5).Value
[/vba] не знал, что offset можно так записать. Спасибо :)

Автор - SkyPro
Дата добавления - 11.12.2013 в 19:57
Kinder Дата: Среда, 11.12.2013, 20:32 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

KuklP, . Спасибо!
Все работает. Не могли бы Вы вывести сумму каждого диапазона рядом с со словом "Сумма".
Так как не смог разобраться в вашем коде.
З.Ы: Обращаюсь к KuklP, так как он делал макрос, если кто кроме него поможет, так же - огромное спасибо!!!


"И все таки она вертится!"

Сообщение отредактировал Kinder - Среда, 11.12.2013, 20:35
 
Ответить
СообщениеKuklP, . Спасибо!
Все работает. Не могли бы Вы вывести сумму каждого диапазона рядом с со словом "Сумма".
Так как не смог разобраться в вашем коде.
З.Ы: Обращаюсь к KuklP, так как он делал макрос, если кто кроме него поможет, так же - огромное спасибо!!!

Автор - Kinder
Дата добавления - 11.12.2013 в 20:32
RAN Дата: Среда, 11.12.2013, 21:29 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
:D
Серег, у тебя что просили?
Не могли бы вы закоментировать код?

А ты что сделал?
Прокомментировал, как мог.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение:D
Серег, у тебя что просили?
Не могли бы вы закоментировать код?

А ты что сделал?
Прокомментировал, как мог.

Автор - RAN
Дата добавления - 11.12.2013 в 21:29
KuklP Дата: Среда, 11.12.2013, 21:52 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
     Dim a As Range
     For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
     ActiveSheet.Columns(4)).SpecialCells(2, 1).Areas
         a(a.Count)(3, 5).Value = "Сумма:"
         a(a.Count)(3, 6).Value = Application.Sum(a.Offset(, 5))
     Next
End Sub
[/vba]

P.S. Андрюх, лень было выпендриваться :D


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
     Dim a As Range
     For Each a In Intersect(ActiveSheet.UsedRange.Offset(10), _
     ActiveSheet.Columns(4)).SpecialCells(2, 1).Areas
         a(a.Count)(3, 5).Value = "Сумма:"
         a(a.Count)(3, 6).Value = Application.Sum(a.Offset(, 5))
     Next
End Sub
[/vba]

P.S. Андрюх, лень было выпендриваться :D

Автор - KuklP
Дата добавления - 11.12.2013 в 21:52
Kinder Дата: Среда, 11.12.2013, 22:02 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Огромное спасибо все работает!!!

Цитата

Серег, у тебя что просили?
Не могли бы вы закоментировать код?

А ты что сделал?
Прокомментировал, как мог.


Отдельная благодарность что не обращаете внимания на словесную неуклюжесть, а РЕАЛЬНО ПОМОГАЕТЕ!!!


"И все таки она вертится!"
 
Ответить
СообщениеОгромное спасибо все работает!!!

Цитата

Серег, у тебя что просили?
Не могли бы вы закоментировать код?

А ты что сделал?
Прокомментировал, как мог.


Отдельная благодарность что не обращаете внимания на словесную неуклюжесть, а РЕАЛЬНО ПОМОГАЕТЕ!!!

Автор - Kinder
Дата добавления - 11.12.2013 в 22:02
RAN Дата: Среда, 11.12.2013, 22:24 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Kinder,
Закомментировать код - превратить его в комментарии, т.е. сделать не работоспособным.
Прокомментировать - написать пояснения.
Разница небольшая, но существенная. :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеKinder,
Закомментировать код - превратить его в комментарии, т.е. сделать не работоспособным.
Прокомментировать - написать пояснения.
Разница небольшая, но существенная. :)

Автор - RAN
Дата добавления - 11.12.2013 в 22:24
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск цикла (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!