Я в VBA занимаюсь недавно и вознили такие вопросы. 1. Мне надо взять баллы у голубя с таким то номером с листа Итоги и перенести их на лист Список голубю с тем же номером. 2. На листе Результаты1 подсчёт баллов вести только у задаваемого мною количества участников, заданного например в ячейке N4 этого листа. 3. Ну и если возможно чтобы считал баллы только у трёх голубей от каждого человека у которыя я считаю баллы. Файлы весят немного более 100 кб поэтому в архиве в формате Excel 97-2003 и 2010. У меня Excel 2010
Я в VBA занимаюсь недавно и вознили такие вопросы. 1. Мне надо взять баллы у голубя с таким то номером с листа Итоги и перенести их на лист Список голубю с тем же номером. 2. На листе Результаты1 подсчёт баллов вести только у задаваемого мною количества участников, заданного например в ячейке N4 этого листа. 3. Ну и если возможно чтобы считал баллы только у трёх голубей от каждого человека у которыя я считаю баллы. Файлы весят немного более 100 кб поэтому в архиве в формате Excel 97-2003 и 2010. У меня Excel 2010Thton
ну я же говорю недавно занимаюсь. а прогу надо сейчас, вот я и использую все пути какие знаю, главное что есть результат а Баллы точно есть. Это спортивные голуби.
ну я же говорю недавно занимаюсь. а прогу надо сейчас, вот я и использую все пути какие знаю, главное что есть результат а Баллы точно есть. Это спортивные голуби.Thton
Сообщение отредактировал Thton - Среда, 13.03.2013, 16:56
Thton, номер раз. Не знаю, могут у вас повторяться номера голубей на листе список или нет, потому сделал для общего случая(т.е. могут)
[vba]
Код
Sub ПоискНомераИЗанесениеБалла() Dim i As Integer, j As Integer i = 1 j = 1 While Worksheets("Итоги").Cells(j + 6, 3) <> "№ голубя" While Worksheets("Список").Cells(i + 3, 2) <> "" If Worksheets("Список").Cells(i + 3, 2) = Worksheets("Итоги").Cells(j + 6, 3) Then Worksheets("Список").Cells(i + 3, 5) = Worksheets("Итоги").Cells(j + 6, 2) End If i = i + 1 Wend i = 1 j = j + 1 Wend End Sub
[/vba]
p.s. сделал ещё и как в примере не сначала листа....ужс кароч)) если так надо то ладно, а если нет, просто значения в коде надо поменять на другие
[/vba] надо сделать цикл(while) по голубям и для каждого вычислять балл по вашей формуле. можете сами попробовать, мне пока некогда тогда будет проще следить за тем сколько человек вы уже прошли и можно будет реализовать пункт 3))
Thton, номер раз. Не знаю, могут у вас повторяться номера голубей на листе список или нет, потому сделал для общего случая(т.е. могут)
[vba]
Код
Sub ПоискНомераИЗанесениеБалла() Dim i As Integer, j As Integer i = 1 j = 1 While Worksheets("Итоги").Cells(j + 6, 3) <> "№ голубя" While Worksheets("Список").Cells(i + 3, 2) <> "" If Worksheets("Список").Cells(i + 3, 2) = Worksheets("Итоги").Cells(j + 6, 3) Then Worksheets("Список").Cells(i + 3, 5) = Worksheets("Итоги").Cells(j + 6, 2) End If i = i + 1 Wend i = 1 j = j + 1 Wend End Sub
[/vba]
p.s. сделал ещё и как в примере не сначала листа....ужс кароч)) если так надо то ладно, а если нет, просто значения в коде надо поменять на другие
[/vba] надо сделать цикл(while) по голубям и для каждого вычислять балл по вашей формуле. можете сами попробовать, мне пока некогда тогда будет проще следить за тем сколько человек вы уже прошли и можно будет реализовать пункт 3))Матраскин
в интернете опять кто-то не прав
Сообщение отредактировал Матраскин - Среда, 13.03.2013, 17:36