Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2012, 04:20   #1
blondino4ka_milk
Пользователь
 
Аватар для blondino4ka_milk
 
Регистрация: 02.03.2010
Сообщений: 59
По умолчанию Вывести в таблицу фамилию менеджера, который отправил наибольшее кол-во туристов(VBA)

1. Используя типовые алгоритмы в приложении vba (программа бейсик) определить перечень разных фамилий менеджеров и для каждого менеджера определить суммарное число отправленных им туристов. Вывести в таблицу фамилию менеджера, который отправил наибольшее кол-во туристов.
2. Используя типовые алгоритмы в приложении vba определить перечень разных турфирм. Применяя встроенную в excel функцию СУММЕСЛИ(), определить по каждой фирме общее кол-во туристов, отправленных этой фирмой за границу.
3. Используя типовые алгоритмы в приложении vba определить перечень разных стран. Применяя встроенную в excel функцию СУММЕСЛИ(), определить по каждой стране общее кол-во туристов, приехавших в эту страну из России.
5. Для заголовка таблицы создать макрос

Меня интересует больше как
Цитата:
Вывести в таблицу фамилию менеджера, который отправил наибольшее кол-во туристов.
Сообразить не могу
Вложения
Тип файла: zip 4.zip (48.9 Кб, 17 просмотров)
blondino4ka_milk вне форума Ответить с цитированием
Старый 19.09.2012, 22:06   #2
blondino4ka_milk
Пользователь
 
Аватар для blondino4ka_milk
 
Регистрация: 02.03.2010
Сообщений: 59
По умолчанию

Подскажите, вот мы находим макс значение во втором столбце, как сделать что б фамилия выводилось в заданной ячейке с первого столбца? а не просто максимальное значение как по этому коду
Код:
Sub GetCalculate()
    Dim iMax#
    Dim myRange As Range, myRange2 As Range
    Set myRange = Range("B2", Cells(Rows.Count, 2).End(xlUp))
'   Set myRange2 = Range("A2", Cells(Rows.Count, 1).End(xlUp))
        With Application
        
        [E8] = .Max(myRange)
        
        End With
End Sub
Изображения
Тип файла: jpg Безымянный.jpg (36.1 Кб, 61 просмотров)
blondino4ka_milk вне форума Ответить с цитированием
Старый 19.09.2012, 22:56   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Visual Basic знаю слабо, но на уровне чисто алгоритма сделал бы так: после определения Max нашел бы номер строки циклом типа:

Пока Ячейка("B",i)<>Max Цикл i=i+1

А там уже присвоил бы [E8]=Ячейка("A",i);

P.S. Сначала прочитал:

Цитата:
...фамилию менеджера, который отравил наибольшее кол-во туристов...
Долго втыкал
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 20.09.2012, 16:58   #4
blondino4ka_milk
Пользователь
 
Аватар для blondino4ka_milk
 
Регистрация: 02.03.2010
Сообщений: 59
По умолчанию

В общем сделала так) не знаю, верный код или нет, но главное работает))) все проверила работает на ура))
Код:
Sub MaxFam()
    Dim MaxVal As Double
    Dim Row As Long
    MaxVal = Application.WorksheetFunction.Max(Range("B2", Cells(Rows.Count, 2).End(xlUp)))
    For Row = 1 To 20
        If Cells(Row, 2).Value = MaxVal Then
            Exit For
        End If
    Next Row
    Cells(Row, 1).Copy Range("E8")
End Sub
blondino4ka_milk вне форума Ответить с цитированием
Старый 20.09.2012, 20:34   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Ну раз работает как надо, значит код верный
Другое дело, что из-за вот этого:

Код:
For Row = 1 To 20
Ваша программа ошибется, если менеджеров больше 20. Лучшее было бы:

Код:
For Row = 1 To Rows.Count
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать типизированный файл, в который записать Фамилию, имя, возраст, средний бал, телефон учащегося. Alerq Паскаль, Turbo Pascal, PascalABC.NET 4 22.02.2012 09:34
EXCEL. Создать макрос, который в любую ячейку выводит Вашу фамилию и инициалы. Дашкаа Помощь студентам 1 20.06.2011 20:04
Ввести имя, фамилию и отчество в строку. Найти длину строки, вывести фамилию в обратном порядке (Delphi) --PapaZi-- Помощь студентам 7 27.03.2011 22:44
Очистить экран и вывести на него свою фамилию Лена Самохина Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 20.12.2010 17:17
Вывести на экран фамилию студента за введенным номером компьютера. Vladya Помощь студентам 1 12.03.2009 23:16