Есть очень большой массив данных (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 & _ "Пример: Иванов И.И", "Ввод")
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-е октября любую ФИО в пустую ячейку времени и он сразу выведет результат, учитывая параметр, который указан на листе 'вывод'
Есть очень большой массив данных (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 & _ "Пример: Иванов И.И", "Ввод")
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-е октября любую ФИО в пустую ячейку времени и он сразу выведет результат, учитывая параметр, который указан на листе 'вывод'
Не совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"? Цитата Hilk, 19.10.2017 в 13:35, в сообщении № 1 ( писал(а)): через vba человек заполнил таблицу написал имя клиента
На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?
Pelena, сначала заполняется сама таблица (лист 'учёт'), там вводится ФИО и всё, а через vba спрашивать сколько людей записать, потом записать всех людей на лист 'вывод' (при условии что в таблице 'учёт' они есть) и посчитать сколько этим людям нужно заплатить по неделям и выводить итог, я как-то так это вижу; Да
Не совсем понятно. Вы хотите вводить фамилии прямо в таблицу? Зачем тогда это делать "через VBA"? Цитата Hilk, 19.10.2017 в 13:35, в сообщении № 1 ( писал(а)): через vba человек заполнил таблицу написал имя клиента
На листе Вывод должны быть строки для всех фамилий, которые есть в таблице?
Pelena, сначала заполняется сама таблица (лист 'учёт'), там вводится ФИО и всё, а через vba спрашивать сколько людей записать, потом записать всех людей на лист 'вывод' (при условии что в таблице 'учёт' они есть) и посчитать сколько этим людям нужно заплатить по неделям и выводить итог, я как-то так это вижу; ДаHilk
Сообщение отредактировал Hilk - Четверг, 19.10.2017, 18:36