2016-12-30 9 views
0

Привет всем Мне нужна ваша помощь, я школьный учитель с очень небольшим знанием макросов excel. Я создал таблицу Excel с таблицей, включающей имена учеников и оценки уроков, мне нужен макрос для создания отчета для каждого ученика (каждая строка таблицы) для шаблона, который я создал в качестве шаблона отчетаExcel Macro для создания школьных отчетов

Я был так трудно найти какие-либо советы или помочь в Интернете, но пока не повезло.

Я пробовал поиск и нашел несколько примеров, но никто из них не подходит ... такой, как этот .. создайте макрос, который преобразует строки excel из одного листа в новые листы .. или этот .. Excel Macro что сохраняет данные, введенные из одного листа на последовательных строк в другом листе Спасибо большое

+0

Разработайте свой вопрос, пожалуйста. Расскажите, что именно вы хотите. Кроме того, добавьте скриншот вашего файла, если это возможно. – sn152

+0

Итак, вы хотите перейти от одного листа ко многим листам или от многих листов к одному листу? Извините, это не понятно –

ответ

0

Пожалуйста, попытайтесь настроить, как вам нужно, этот код:
(мой основной заголовок таблицы: student_id | имя | фамилия | группа)

Sub gen_reports() 

Set ref_col = Application.Selection 
Set ref_col = Application.InputBox("Select ID col of main table", xTitleId, ref_col.Address, Type:=8) ' select students from student_id col 

For Each C In ref_col 
    Worksheets.Add.Name = C.Offset(0, 1) ' create a sheet for each student 
    ActiveSheet.Select 
    Range("a1").Value = "Report for " & C.Offset(0, 1) & " " & C.Offset(0, 2) & "/" & C.Offset(0, 3) ' fill each sheet with elements from each student 

Next 
End Sub 

вы можете отформатировать отчет (лист студента), так как вы необходимости, программно. ex: Диапазон («a1»). Font.ColorIndex = 44 и т. д.

Смежные вопросы