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

Вход

Регистрация

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

 

= Мир MS Excel/Присвоение ФИО к значению (Перебор в массиве) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Присвоение ФИО к значению (Перебор в массиве) (Формулы/Formulas)
Присвоение ФИО к значению (Перебор в массиве)
Hilk Дата: Четверг, 19.10.2017, 13:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть очень большой массив данных (D6:AD257), в нём нужно записать ФИО человека и посчитать сколько он заплатит за время (расчёт исходит из времени, файл стоимости прилагаю), сейчас это реализовано так - имеется 6 циклов на 'расчётном листе', которые считают по отдельности недели и результат по неделям показывается на листе 'вывод' (для удобства таблица сделана на год и если в ячейке число нет числа, то он его не показывает), я сделал так что через функцию
Код
СЧЁЗ()
эксель считал количество непустых ячеек в неделю и выводил их стоимость, но я могу это сделать только на одного человека и так вопрос (извините за долгое предисловие), можно ли как-то в экселе без привязки
Код
СЧЁТЕСЛИ()
рассчитывать постоянно меняющиеся значения ФИО, идея в том, чтобы через vba человек ввёл имя клиента (если ФИО есть на листе 'учёт'), сформировалась таблица на листе 'вывод' и так далее (то есть вводится количество клиентов - сколько нужно записать, цикл), вот хочу узнать можно ли как-то это делать через функцию, ибо в vba не знаю как это делать, в принципе 6 циклов я сделаю, а вот как присвоить введённому человеку равенство значение ячейки не знаю, вот как-бы выглядел один цикл в vba:

[vba]
Код
Private Sub CommandButton1_Click()

          Dim n As String, i As Integer, v As Single

          i = 1

         n = InputBox("Введите ФИО" & vbLf & _
         "Пример: Иванов И.И", "Ввод")

        Worksheets("Вывод").Cells(1, 1) = "ФИО"
        Worksheets("Вывод").Cells(1, 2) = "Итог"

         For n = Worksheets("Учёт").Range("D6") To Worksheets("Учёт").Range("AD47")
             v = <- тут формула, пока её ещё не придумал
             i = i + 1
                   Worksheets("Вывод").Cells(i, 1) = n
                   Worksheets("Вывод").Cells(i, 2) = v
         Next n

End Sub
[/vba]
Эксель со своими расчётами на одного человека также прилагаю, для того чтобы значение появилось, нужно вписать например на 1-е октября любую ФИО в пустую ячейку времени и он сразу выведет результат, учитывая параметр, который указан на листе 'вывод'

К сообщению приложен файл: _____.xlsx (46.9 Kb) · ___01.09.17.docx (13.0 Kb)


Сообщение отредактировал Hilk - Четверг, 19.10.2017, 23:37
 
Ответить
Сообщение
Есть очень большой массив данных (D6:AD257), в нём нужно записать ФИО человека и посчитать сколько он заплатит за время (расчёт исходит из времени, файл стоимости прилагаю), сейчас это реализовано так - имеется 6 циклов на 'расчётном листе', которые считают по отдельности недели и результат по неделям показывается на листе 'вывод' (для удобства таблица сделана на год и если в ячейке число нет числа, то он его не показывает), я сделал так что через функцию
Код
СЧЁЗ()
эксель считал количество непустых ячеек в неделю и выводил их стоимость, но я могу это сделать только на одного человека и так вопрос (извините за долгое предисловие), можно ли как-то в экселе без привязки
Код
СЧЁТЕСЛИ()
рассчитывать постоянно меняющиеся значения ФИО, идея в том, чтобы через vba человек ввёл имя клиента (если ФИО есть на листе 'учёт'), сформировалась таблица на листе 'вывод' и так далее (то есть вводится количество клиентов - сколько нужно записать, цикл), вот хочу узнать можно ли как-то это делать через функцию, ибо в vba не знаю как это делать, в принципе 6 циклов я сделаю, а вот как присвоить введённому человеку равенство значение ячейки не знаю, вот как-бы выглядел один цикл в vba:

[vba]
Код
Private Sub CommandButton1_Click()

          Dim n As String, i As Integer, v As Single

          i = 1

         n = InputBox("Введите ФИО" & vbLf & _
         "Пример: Иванов И.И", "Ввод")

        Worksheets("Вывод").Cells(1, 1) = "ФИО"
        Worksheets("Вывод").Cells(1, 2) = "Итог"

         For n = Worksheets("Учёт").Range("D6") To Worksheets("Учёт").Range("AD47")
             v = <- тут формула, пока её ещё не придумал
             i = i + 1
                   Worksheets("Вывод").Cells(i, 1) = n
                   Worksheets("Вывод").Cells(i, 2) = v
         Next n

End Sub
[/vba]
Эксель со своими расчётами на одного человека также прилагаю, для того чтобы значение появилось, нужно вписать например на 1-е октября любую ФИО в пустую ячейку времени и он сразу выведет результат, учитывая параметр, который указан на листе 'вывод'


Автор - Hilk
Дата добавления - 19.10.2017 в 13:35
Pelena Дата: Четверг, 19.10.2017, 14:15 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Hilk, Дайте теме более конкретное название в соответствии с Правилами форума и оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеHilk, Дайте теме более конкретное название в соответствии с Правилами форума и оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 19.10.2017 в 14:15
Hilk Дата: Четверг, 19.10.2017, 15:50 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Hilk, Дайте теме более конкретное название в соответствии с Правилами форума и оформите код тегами с помощью кнопки # в режиме правки поста


Pelena, Извините, первый раз на форуме - всё исправил


Сообщение отредактировал Hilk - Четверг, 19.10.2017, 16:12
 
Ответить
Сообщение
Hilk, Дайте теме более конкретное название в соответствии с Правилами форума и оформите код тегами с помощью кнопки # в режиме правки поста


Pelena, Извините, первый раз на форуме - всё исправил

Автор - Hilk
Дата добавления - 19.10.2017 в 15:50
Pelena Дата: Четверг, 19.10.2017, 17:25 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Не совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"?
через vba человек заполнил таблицу написал имя клиента

На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"?
через vba человек заполнил таблицу написал имя клиента

На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?

Автор - Pelena
Дата добавления - 19.10.2017 в 17:25
Hilk Дата: Четверг, 19.10.2017, 18:34 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"?
Цитата Hilk, 19.10.2017 в 13:35, в сообщении № 1 ( писал(а)):
через vba человек заполнил таблицу написал имя клиента

На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?

Pelena, сначала заполняется сама таблица (лист 'учёт'), там вводится ФИО и всё, а через vba спрашивать сколько людей записать, потом записать всех людей на лист 'вывод' (при условии что в таблице 'учёт' они есть) и посчитать сколько этим людям нужно заплатить по неделям и выводить итог, я как-то так это вижу; Да


Сообщение отредактировал Hilk - Четверг, 19.10.2017, 18:36
 
Ответить
Сообщение
Не совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"?
Цитата Hilk, 19.10.2017 в 13:35, в сообщении № 1 ( писал(а)):
через vba человек заполнил таблицу написал имя клиента

На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?

Pelena, сначала заполняется сама таблица (лист 'учёт'), там вводится ФИО и всё, а через vba спрашивать сколько людей записать, потом записать всех людей на лист 'вывод' (при условии что в таблице 'учёт' они есть) и посчитать сколько этим людям нужно заплатить по неделям и выводить итог, я как-то так это вижу; Да

Автор - Hilk
Дата добавления - 19.10.2017 в 18:34
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Присвоение ФИО к значению (Перебор в массиве) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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