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

Вход

Регистрация

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

 

= Мир MS Excel/Работа с циклами. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа с циклами. (Макросы/Sub)
Работа с циклами.
rostelecom2018 Дата: Среда, 30.06.2021, 17:03 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте. Просьба дать совет начинающему, тк запутался.

Исходные данные:

В столбце "С" имеются суммы (количество может быть и 10 и 100 и вообще любое количество строк со значениями как положительными, так и отрицательными.

В столбце "D" так же имеются суммы по аналогии с колонкой "C".

В столбце "Е" вычисляется процентное соотношение каждой строки из столбца "D" к общей сумме столбца "D" (сделал через формулу). См. приложенный скрин

Что необходимо реализовать:

При нажатии кнопки каждая строка из столбца "С" последовательно умножалась на каждую строку из столбца "Е" и это значение прописывалось построчно в столбец "F". Т.е., например, 2158124,395 (С,2) умножалось на 0,269604845 (Е,2) и значение выводилось в ячейку (F,2). Потом (С,2) * (Е,3) и значение прописывалось в ячейку (F,3). После того как значения в колонке "Е" закончились, бралась следующая цифра из колонки "С" -2671900,191 (С,3) и так же последовательно перемножалась построчно с ячейками колонки "Е" с записью к уже заполненным значениям после перемножения первого шага. По итогу в столбце "F" (с данными которые на скриншоте) должно быть заполнено 104 строки.



Данную процедуру хочу сделать через макрос.

Думал сделать следующее. Определить количество заполненных ячеек в столбце "D", далее через цикл

For i=1 to 8 (т.к. уже определили, что заполненных ячеек 8)

и далее через цикл while. Но вот тут что то не получается, либо что то не так делаю, поэтому и прошу Вашего совета.

Мой гавнокод:

[vba]
Код
Private Sub CommandButton1_Click()

Dim a, b, c, d As Long

a = WorksheetFunction.CountA(Columns("D")) - 1

Cells(2, 7) = a

b = 1

For c = 1 To x

Do While Cells(b + 1, 5).Value = ""

Cells(b + 1, 6) = Cells(2, 6) * Cells(b + 1, 6)

Loop

Next c

End Sub
[/vba]

Заранее спасибо.
К сообщению приложен файл: 7436099.jpg (86.4 Kb)
 
Ответить
СообщениеЗдравствуйте. Просьба дать совет начинающему, тк запутался.

Исходные данные:

В столбце "С" имеются суммы (количество может быть и 10 и 100 и вообще любое количество строк со значениями как положительными, так и отрицательными.

В столбце "D" так же имеются суммы по аналогии с колонкой "C".

В столбце "Е" вычисляется процентное соотношение каждой строки из столбца "D" к общей сумме столбца "D" (сделал через формулу). См. приложенный скрин

Что необходимо реализовать:

При нажатии кнопки каждая строка из столбца "С" последовательно умножалась на каждую строку из столбца "Е" и это значение прописывалось построчно в столбец "F". Т.е., например, 2158124,395 (С,2) умножалось на 0,269604845 (Е,2) и значение выводилось в ячейку (F,2). Потом (С,2) * (Е,3) и значение прописывалось в ячейку (F,3). После того как значения в колонке "Е" закончились, бралась следующая цифра из колонки "С" -2671900,191 (С,3) и так же последовательно перемножалась построчно с ячейками колонки "Е" с записью к уже заполненным значениям после перемножения первого шага. По итогу в столбце "F" (с данными которые на скриншоте) должно быть заполнено 104 строки.



Данную процедуру хочу сделать через макрос.

Думал сделать следующее. Определить количество заполненных ячеек в столбце "D", далее через цикл

For i=1 to 8 (т.к. уже определили, что заполненных ячеек 8)

и далее через цикл while. Но вот тут что то не получается, либо что то не так делаю, поэтому и прошу Вашего совета.

Мой гавнокод:

[vba]
Код
Private Sub CommandButton1_Click()

Dim a, b, c, d As Long

a = WorksheetFunction.CountA(Columns("D")) - 1

Cells(2, 7) = a

b = 1

For c = 1 To x

Do While Cells(b + 1, 5).Value = ""

Cells(b + 1, 6) = Cells(2, 6) * Cells(b + 1, 6)

Loop

Next c

End Sub
[/vba]

Заранее спасибо.

Автор - rostelecom2018
Дата добавления - 30.06.2021 в 17:03
Pelena Дата: Среда, 30.06.2021, 17:12 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Файл Excel с примером и макросом приложите вместо картинки


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Файл Excel с примером и макросом приложите вместо картинки

Автор - Pelena
Дата добавления - 30.06.2021 в 17:12
Serge_007 Дата: Среда, 30.06.2021, 17:29 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
И название темы должно соответствовать правилам форума


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеИ название темы должно соответствовать правилам форума

Автор - Serge_007
Дата добавления - 30.06.2021 в 17:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа с циклами. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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