Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
22 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 8

Вывести таблицу отличников и троечников

31.03.2015, 20:57. Показов 3097. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Препод сказал сделать, чтобы выводились инициалы Отличников и девочек-троечниц, я сделал. Но ему, видите ли, не понравилось, что в новых таблицах есть "-" вместо инициалов ("-" я вывожу, если студент не отличник) и он сказал переделать так, чтобы таблица заполнялась без этих самых "-", а просто подряд инициалы отличников. Уже который день хожу думаю, ничего не получается...Помогите пожалуйста =)
Вложения
Тип файла: 7z 9Е.7z (23.1 Кб, 21 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2015, 20:57
Ответы с готовыми решениями:

Составить алгоритм и программу, которая вначале выводит список всех отличников, затем список хорошистов, троечников, а затем двоечников в ячейки листа
Имеется список группы и оценка каждого студента на экзамене. Составить алгоритм и программу, которая вначале выводит список всех...

Определить отличников, хорошистов, троечников и двоечников
Описать переменную экзаменационная ведомость (предмет, номер группы, номер зачетной книжки, фамилия, имя, отчество студента, его оценки по...

Написать программу, выводящую фамилии отличников, троечников и т.д.
В символьном массиве каждый элемент имеет вид : "Николаев-4","Новиков-3","Науменко-5","Козлов-2" и т.д.Написать программу...

9
 Аватар для СвободныйНик
191 / 180 / 114
Регистрация: 28.07.2013
Сообщений: 610
31.03.2015, 21:40
сохрани в формате .xls, а то у меня офис староват
0
22 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 8
31.03.2015, 22:19  [ТС]
Попробуй так открыть)
Вложения
Тип файла: xls 9Е.xls (18.3 Кб, 26 просмотров)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
31.03.2015, 23:05
Лучший ответ Сообщение было отмечено Kirom как решение

Решение

Сделал в своем файле, без форматирования таблиц, посмотрите, может пригодится.
Вложения
Тип файла: rar ученики.rar (15.7 Кб, 28 просмотров)
1
 Аватар для СвободныйНик
191 / 180 / 114
Регистрация: 28.07.2013
Сообщений: 610
31.03.2015, 23:05
Лучший ответ Сообщение было отмечено Kirom как решение

Решение

что то твой макро открываться не хотел, повреждён и т.д. (русский не читаем)
то что вытащил и изменил часть кода:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim I1 As Integer  'добавить!
I1 = 1  'добавить!
For I = 1 To M
  SumOtsSt = 0
    For J = 1 To N
    SumOtsSt = SumOtsSt + Ots(I, J)
    Next J
  SrBalSt = SumOtsSt / N
  Range("H59").Cells(I, 1).Value = SrBalSt
  If SrBalSt < 4 And Pol(I) = "Æ" Then
  KolDevTr = KolDevTr + 1
  Range("E94").Cells(I1, 1).Value = Fam(I)  'изменить!
  I1 = I1 + 1
  Else
  'Range("E94").Cells(I, 1).Value = "-"  'удалить!
  End If
  Next I
    If KolDevTr = 0 Then
    Range("E117").Value = "Íåò äåâî÷åê-òðîå÷íèö"
    End If
End Sub
1
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
31.03.2015, 23:46
Лучший ответ Сообщение было отмечено Kirom как решение

Решение

Переделал. Выдает как нужно.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub test()
    Dim i As Integer
    Dim M(), D()
    ReDim M(1 To 1)
    ReDim D(1 To 1)
    Range("B94:B116,E94:E116").ClearContents
    For i = 59 To 81
        If Join(Array(Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9))) _
        Like "[4,5] [4,5] [4,5] [4,5] М" Then
            ReDim Preserve M(1 To UBound(M) + 1)
            M(UBound(M) - 1) = Cells(i, 2).Value
        End If
        If CDbl(Cells(i, 8).Value) < 4 And Cells(i, 9).Value = "Ж" Then
            ReDim Preserve D(1 To UBound(D) + 1)
            D(UBound(D) - 1) = Cells(i, 2).Value
        End If
    Next i
    If UBound(M) <> 1 Then
        ReDim Preserve M(1 To UBound(M) - 1)
        Range("B94:B" & UBound(M) + 93).Value = Application.Transpose(M)
      Else
        Range("B117").Value = "Нет отличников"
    End If
    If UBound(D) <> 1 Then
        ReDim Preserve D(1 To UBound(D) - 1)
        Range("E94:E" & UBound(D) + 93).Value = Application.Transpose(D)
      Else
        Range("E117").Value = "Нет девочек-троечниц"
    End If
End Sub
Добавлено через 8 минут
Вариант без массивов

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub test()
    Dim i As Integer
    Dim tm As Integer, td As Integer
    tm = 93
    td = 93
    Range("B94:B116,E94:E116").ClearContents
    For i = 59 To 81
        If Join(Array(Cells(i, 4), Cells(i, 5), Cells(i, 6), Cells(i, 7), Cells(i, 9))) _
        Like "[4,5] [4,5] [4,5] [4,5] М" Then
            tm = tm + 1
            Cells(tm, 2).Value = Cells(i, 2).Value
        End If
        If CDbl(Cells(i, 8).Value) < 4 And Cells(i, 9).Value = "Ж" Then
            td = td + 1
            Cells(td, 5).Value = Cells(i, 2).Value
        End If
    Next i
    If tm = 93 Then Range("B117").Value = "Нет отличников"
    If td = 93 Then Range("E117").Value = "Нет девочек-троечниц"
End Sub
1
22 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 8
01.04.2015, 00:50  [ТС]
Всем огромное спасибо!

Добавлено через 2 минуты
А как еще сделать такую кнопку прям в Excel, чтобы нажал и макрос выполнился? Очень понравилось, удобно
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.04.2015, 00:58
Цитата Сообщение от Kirom Посмотреть сообщение
сделать такую кнопку прям в Excel
Сначала пишете макрос, потом на вкладке Разработчик в Элементах управления из списка Вставить выбираете кнопку. Рисуете ее в нужном вместе. Вылезет окно назначения макроса, назначаете и пользуетесь.
1
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.04.2015, 01:07
Иллюстрация к вышесказанному
Миниатюры
Вывести таблицу отличников и троечников   Вывести таблицу отличников и троечников  
1
22 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 8
01.04.2015, 08:59  [ТС]
Еще раз спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2015, 08:59
Помогаю со студенческими работами здесь

Определить количество отличников 1-2 курса на всех факультетах группы у которых нет отличников
// Сторити масив структур, яки складаються з елементів: факультет, курс, група, призвіще студ,езаменаційна оцінка. Візначити: кількість ...

Вывести фамилии отличников
Сформировать файл записей &quot;EXAM.DAT&quot; по результатам сдачи сесии (три экзамена) группой студентов. Поля записи о каждом студенте: ...

Как вывести отличников
Всем привет) У меня база данных школы. И мне нужно вывести чисто отличников, у кого нет четверок и тд, только пятерки. У каждого ученика по...

Вывести список отличников
Составить список студентов колледжа, принимающих участие в городской олимпиаде по проблеммам программирования. Для каждого студента...

Вывести фамилии отличников
Есть таблица сданными. Как в ячейке А19 вывести фамилии отличников из Самары?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru