Да подготви доклад за присъствие с Excel лист
Да подготви доклад за присъствие с Excel лист
- Проблем
- Решение
- Забележка
Проблем
В нашия отдел работят 60 души. Те присъстват всеки ден в сутрешния доклад. Затова съм подготвил лист Excel (Named Attendance Table), който има колони A1: A60 с имената на жителите B1: B60 с процент на посещаемост за един месец. Моята работа е да изготвя доклад за присъствието на всеки жител. Подготвих шаблон за доклад за присъствието. Сега искам да стартирам макрос, който ще направи следните неща:1. Отворете нов работен лист от шаблона в работната книга, която има работен лист „Таблица за присъствие“
2. Тя трябва да донесе данните от работната таблица на "Посещаема таблица"
а. От първа колона А1 и поставете в полето Име на шаблон (нов работен лист, отворен в първия етап) (винаги D6)
б. Донесете данни от B1 и поставете в процентно поле на шаблон (F10)
° С. Трябва да преименувате раздела с данни от A1 (т.е. името на пребиваващия)
3. Трябва да повторите стъпка 2, докато стигне до празната клетка
Може ли някой да ми помогне да напишете макрос.?
Решение
"Подпрограма за присъствие на"Отворете нов работен лист, наречен работен лист за посещаемост
- С данни от таблицата за присъствие
- Жителите се наричат D6
- Процент на посещение за един месец до F10
'Преименувайте листа на името на жителите и започнете отново
- За всички жители на масата
Подчинен доклад ()
Dim cCell As Object, i As Integer 'Две променливи cCell (текуща клетка) обект и i (стандартно броене на цяло число)
Клетки (1, "А"). Изберете "Уверете се, че започваме всеки път в горната част на работния лист
Application.ScreenUpdating = False 'Включване на актуализации на екрана, докато се изпълнява макрос
За всеки cCell в обхват (клетки (1, "A"), клетки (1, "A"). Край (xlDown)) "Ще изпълним кода си през всяка клетка с текст
Задайте NewSheet = Sheets.Add (Тип: = xlWorksheet) 'Добавете нов лист
NewSheet.Name = "Работен лист на таблицата за присъствие" "преименуване на работен лист
Листове ("Работна таблица на посещаемите таблици"). Клетки (6, "D"). Стойност = cCell.Value "постави името на жителите е клетка D6
Листове ("Работна таблица на посещаемостта"). Клетки (10, "F"). Стойност = cCell.Offset (0, 1) .Value "постави пребиваване в F10
Листове ("работен лист на таблицата за присъствие"). Име = cCell.Value
Следващ cCell
Край Под