교사는 항상 완료해야 할 과제가 많습니다. 그들은 내일 수업을위한 메모를 준비하고, 학생의 성과를 추적하고, 최고 경영진을위한 보고서를 준비하는 등 많은 일을해야합니다. 마크 입력을 쉬운 작업으로 만들어 보겠습니다.
다운로드
소프트웨어를 최대한 빨리 사용하고 싶으시다면 다음 방법을 이용하실 수 있습니다.
그렇지 않고 DIY를 원한다면 아래 내용을 읽을 수 있습니다.
GUI를 준비합시다
이 이미지와 같이 필요한 시트로 도구를 준비하십시오.
| 시트 이름 | 기술설명 |
| 기입 | 마크 입력을위한 GUI입니다. |
| 데이터베이스 | 이 시트는 데이터베이스 역할을하며 학생들의 마크를 보관합니다. |
| 명부 | 이 시트에는 드롭 다운을 만드는 데 사용할 데이터가 있습니다. |
| 학생들 | 이 시트는 다양한 학생들을 각각의 수업에 매핑합니다. |
VBA 프로젝트 창에서 여기에 표시된대로 시트의 이름을 바꿉니다.
기능적으로 만들자
매크로를 새 모듈에 복사하고 해당 버튼에 매크로를 첨부합니다.
| 매크로 | 버튼에 연결 | 기술설명 |
| 클래스_드롭다운 | - | 이 매크로는 "Class"에 대한 드롭 다운을 만듭니다. |
| 섹션_드롭다운 | - | 이 매크로는 "섹션"에 대한 드롭 다운을 만듭니다. |
| 제목_드롭다운 | - | 이 매크로는 "주제"에 대한 드롭 다운을 만듭니다. |
| 표시_목록 | 목록 표시 | 이 매크로는 선택한 수업 및 섹션의 학생을 보여줍니다. |
| Add_To_Database | 문의하기 | 이 매크로는 마크 항목을 데이터베이스 시트에 업로드합니다. |
Sub Class_dropdown()
Dim lr As Long
Dim r As Long
lr = lst.Range("A" & Rows.Count).End(xlUp).Row
Dim prodlist As String
For r = 2 To lr
If prodlist = "" Then
prodlist = lst.Range("A" & r).Value
Else
prodlist = prodlist & "," & lst.Range("A" & r).Value
End If
Next r
With entry.Range("C2:D2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=prodlist
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Section_dropdown()
Dim lr As Long
Dim r As Long
lr = lst.Range("B" & Rows.Count).End(xlUp).Row
Dim prodlist As String
For r = 2 To lr
If prodlist = "" Then
prodlist = lst.Range("B" & r).Value
Else
prodlist = prodlist & "," & lst.Range("B" & r).Value
End If
Next r
With entry.Range("G2:H2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=prodlist
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Subject_dropdown()
Dim lr As Long
Dim r As Long
lr = lst.Range("C" & Rows.Count).End(xlUp).Row
Dim prodlist As String
For r = 2 To lr
If prodlist = "" Then
prodlist = lst.Range("C" & r).Value
Else
prodlist = prodlist & "," & lst.Range("C" & r).Value
End If
Next r
With entry.Range("K2:O2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=prodlist
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Show_List()
Dim r As Long
Dim lr As Long
Dim e As Long
e = 5
lr = std.Range("A" & Rows.Count).End(xlUp).Row
For r = 2 To lr
If std.Range("A" & r).Value = entry.Range("C2").Value And std.Range("B" & r).Value = entry.Range("G2").Value Then
e = e + 1
entry.Range("B" & e).Value = std.Range("C" & r).Value
entry.Range("C" & e).Value = std.Range("D" & r).Value
End If
Next r
End Sub
Sub Add_To_Database()
Dim r As Long
Dim lr As Long
Dim e As Long
e = 5
lr = entry.Range("B" & Rows.Count).End(xlUp).Row
For r = 6 To lr
Dim lrind As Long
lrind = db.Range("B" & Rows.Count).End(xlUp).Row + 1
db.Range("A" & lrind).Value = entry.Range("C2").Value
db.Range("B" & lrind).Value = entry.Range("G2").Value
db.Range("C" & lrind).Value = entry.Range("K2").Value
db.Range("D" & lrind).Value = entry.Range("C" & r).Value
db.Range("E" & lrind).Value = entry.Range("K" & r).Value
Next r
End Sub
그것을 조정
이 스크립트를 사용하면 매우 기본적인 마크 입력 시스템을 만들 수 있습니다. 그러나 "데이터베이스"시트의 데이터를 사용하여이를 조정하고 분석 보고서를 만들 수 있습니다. 데이터베이스 시트에 대한 백업을 만드는 것이 좋습니다. 이것은 당신이 손상된 xlsx 시트.
저자 소개 :
Nick Vipond는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. 부패한 말 그리고 전망 회복 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM.



