色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

VBA實戰(zhàn)指南:玩轉Excel教務掛科統(tǒng)計與自動化報表生成

VBA實戰(zhàn)指南:玩轉Excel教務掛科統(tǒng)計與自動化報表生成 1. 項目背景為什么教務數(shù)據(jù)要用VBA來處理高校教務管理里掛科數(shù)據(jù)統(tǒng)計是非常高頻的一項工作。學期末考試結束各科成績出來教務員或者輔導員需要回答一系列問題每個班掛了幾科哪個科目掛科率最高哪些學生掛科超過三門需要預警重修名單怎么生成這些問題看起來簡單但當學生數(shù)量上千、科目幾十門、數(shù)據(jù)分散在多個Excel文件里的時候手工處理就變得極其痛苦。我第一次接到這個需求是在某高校期末階段。對方拿來的原始數(shù)據(jù)是一張全校成績總表大概四千多行每行是一個學生的某一門課程成績字段包括學號、姓名、班級、課程名稱、學分、成績。需求也很直接掛科名單、掛科率統(tǒng)計、分數(shù)段分布、以及預警名單掛科超過兩門的要單獨列出來。說實話這些需求用Excel自帶的數(shù)據(jù)透視表和篩選功能也能做一部分但涉及到多條判定規(guī)則、跨科目統(tǒng)計、批量格式化和生成多個報表還是VBA更合適。寫這篇博文就是把這套處理掛科數(shù)據(jù)的完整思路和代碼實戰(zhàn)過程拆開來講。從數(shù)據(jù)清洗、掛科判定、按科目統(tǒng)計、按學生聚合、生成預警名單到最后的報表自動排版每一步都給出可以直接復用的方案。適合輔導員、教務員、教學秘書以及任何處理過這類考核數(shù)據(jù)的辦公人員參考。如果你只會Excel的基礎操作這篇文章會告訴你VBA處理批量數(shù)據(jù)的基本套路如果你已經有點VBA基礎也可以從中找到一些邊界情況處理和代碼組織的方法。2. 項目整體設計與思路拆解2.1 先搞清楚數(shù)據(jù)長什么樣拿到數(shù)據(jù)的第一步不是寫代碼而是觀察數(shù)據(jù)。我用的是某高校模擬項目X的成績總表字段和真實教務系統(tǒng)導出的格式基本一致。以下是原始數(shù)據(jù)的一個簡化樣例學號姓名班級課程名稱學分成績20230101張某計科2301高等數(shù)學55820230101張某計科2301大學英語37120230102李某計科2301高等數(shù)學56220230102李某計科2301線性代數(shù)34320230102李某計科2301大學英語355仔細觀察有幾個關鍵點決定了后續(xù)代碼怎么寫一行為一個學生的一門課成績所以一個學生占用多行數(shù)據(jù)。按學生聚合統(tǒng)計掛科門數(shù)就不能用簡單的篩選而是需要按學號分組。成績字段的格式可能不統(tǒng)一有的單元格是文本類型有的看起來是數(shù)字但其實是缺考或緩考字樣。這種臟數(shù)據(jù)必須先清洗。掛科的判定線和課程學分有關不同學校可能有所不同。有的學校60分及格有的課程按五級制優(yōu)、良、中、及格、不及格這些都要在寫代碼前問清楚。2.2 方案選型為什么不用公式和透視表在處理這類數(shù)據(jù)時很多人第一反應是用COUNTIFS加IF嵌套不就行了。確實如果只需要統(tǒng)計個掛科人數(shù)公式完全可以勝任。但這套需求里有一個場景是公式不太好處理的判斷每個學生掛科是否超過兩門并把超過兩門的學生自動歸入預警名單。這樣做是可行的但操作相對繁瑣需要在輔助列里拉公式再對結果做二次篩選。根本的問題在于公式方案是靜態(tài)的。數(shù)據(jù)源一旦更新比如補考成績錄入、緩考學生決定參加考試所有統(tǒng)計結果都得跟著改輔助列里的公式范圍需要重新調整生成的報表還得手工重建。VBA方案是動態(tài)的原始數(shù)據(jù)放在Sheet1運行一次宏自動在Sheet2生成掛科名單Sheet3生成科目掛科率統(tǒng)計Sheet4生成預警名單。下次數(shù)據(jù)更新了再運行一次就行所有流程完全自動化。還有一個原因是邏輯可維護性。把代碼讀一遍就知道成績小于60且不為空算掛科缺考標記為-1也按掛科處理掛科超過2門預警這些規(guī)則寫在哪里。對后接手的人來說理解一套VBA代碼并修改規(guī)則比在一大堆嵌套公式里翻找要容易得多。2.3 整體處理流程梳理整個方案分成五個階段數(shù)據(jù)清洗、基本校驗、掛科判定與統(tǒng)計、學生維度聚合、報表生成。每個階段相對獨立便于單獨測試和調試。第一階段規(guī)范成績字段——把文本數(shù)字轉成數(shù)值、識別特殊標記、剔除無效行。第二階段檢查有沒有缺失關鍵字段的行比如學號為空的學生記錄直接跳過。第三階段遍歷所有成績記錄按課程名稱統(tǒng)計考試人數(shù)、掛科人數(shù)、掛科率同時輸出每條掛科記錄到名單表。第四階段再遍歷一次或者復用前面收集的數(shù)據(jù)按學號匯總每個學生的掛科門數(shù)生成預警名單。第五階段用VBA控制格式設置邊框、列寬、單元格顏色把掛科率高和預警級別高的信息突出顯示。3. 核心邏輯與關鍵代碼實現(xiàn)3.1 字典對象跨行聚合的利器做學生維度的掛科統(tǒng)計時最常用的技巧是使用VBA的Dictionary字典對象。它類似于哈希表可以按學號存儲一個學生的累計掛科門數(shù)。遍歷成績記錄時每遇到一條掛科記錄就在字典里把對應學號的計數(shù)加1。最后把需要預警的學生計數(shù)值大于2輸出到名單表。Dim dict As Object Set dict CreateObject(Scripting.Dictionary) 遍歷成績數(shù)據(jù)統(tǒng)計每個學生掛科數(shù)量 For i 2 To lastRow scoreVal Trim(CStr(ws.Cells(i, 6).Value)) 成績列 stuID Trim(CStr(ws.Cells(i, 1).Value)) 學號列 判斷是否掛科成績?yōu)閿?shù)字且小于60或包含缺考等標記 If IsNumeric(scoreVal) Then If CDbl(scoreVal) 60 Then If dict.Exists(stuID) Then dict(stuID) dict(stuID) 1 Else dict(stuID) 1 End If End If ElseIf InStr(scoreVal, 缺考) 0 Or InStr(scoreVal, 緩考) 0 Then If dict.Exists(stuID) Then dict(stuID) dict(stuID) 1 Else dict(stuID) 1 End If End If Next i這段代碼并不復雜卻解決了最關鍵的按學生聚合問題。成績總表里同一個學生出現(xiàn)多行如果不想辦法聚合就沒法判斷掛科超過兩門。字典在這種場景下的處理思路值得反復參考。建議在處理學生數(shù)據(jù)時先想清楚需要按哪個維度聚合這個維度是否適合作為字典的Key。3.2 成績數(shù)據(jù)的邊界情況處理成績數(shù)據(jù)遠沒有想象的那么干凈這是我在實際處理中遇到最多坑的地方。真實數(shù)據(jù)里常見的情況包括成績單元格顯示為缺考或緩考。這類情況通常要按掛科處理因為學生沒有成績。成績?yōu)榭盏膯卧?。不能簡單判斷為掛科需要先和對方確認空值含義。在我的模擬項目X數(shù)據(jù)里空值表示該學生本學期沒有選修這門課屬于無效記錄應當跳過。成績是文本格式的數(shù)字比如單元格左上角有個綠色小三角。直接比較會導致類型不匹配報錯需要先用IsNumeric判斷。成績包含具體分值但帶備注比如55作弊。這種數(shù)據(jù)格式不統(tǒng)一要么在數(shù)據(jù)源頭規(guī)范要么在代碼里做截取處理。我的建議是在VBA代碼里先做一個數(shù)據(jù)清洗模塊統(tǒng)一處理這些情況。這樣主邏輯里的成績判斷就不用到處處理異常代碼也更清晰。寫一個獨立函數(shù)來判斷這條記錄是否為掛科把所有邊界情況封裝進去Function IsFail(scoreCell As Range) As Boolean Dim raw As String raw Trim(CStr(scoreCell.Value)) 空值不算掛科視為無效記錄 If raw Then IsFail False Exit Function End If 缺考或緩考視為掛科 If InStr(raw, 缺考) 0 Or InStr(raw, 緩考) 0 Then IsFail True Exit Function End If 純數(shù)字小于60算掛科 If IsNumeric(raw) Then IsFail (CDbl(raw) 60) Exit Function End If 其他文本標記按非掛科處理 IsFail False End Function注意掛科判定線60分是我在模擬項目X中使用的規(guī)則。實際部署時這個臨界值應該定義成常量或者放在配置單元格里方便不同院系按各自規(guī)則調整。3.3 按科目的掛科率統(tǒng)計科目維度的統(tǒng)計相對直接遍歷所有成績記錄按課程名稱分組記錄兩個數(shù)字——考試人數(shù)和掛科人數(shù)??荚嚾藬?shù)指該課程有效成績記錄數(shù)排除空值掛科人數(shù)是其中判定為掛科的記錄數(shù)。掛科率就是兩者之比。這個統(tǒng)計邏輯用字典也能實現(xiàn)但字典存的值是數(shù)組會有些別扭。更穩(wěn)妥的方式是直接在內存里維護兩個字典一個存考試人數(shù)一個存掛科人數(shù)。遍歷結束后再合并輸出?;蛘哂酶匀坏姆绞健葎討B(tài)收集所有課程名稱到字典A中第二次遍歷時按課程統(tǒng)計。我在實踐里更喜歡用Collection或字典來維護課程列表因為課程名稱不一定在原始數(shù)據(jù)里有現(xiàn)成的枚舉清單。你無法提前知道全校開了多少門課動態(tài)收集才是正解。以下是用字典統(tǒng)計科目掛科率的核心邏輯Dim examCount As Object, failCount As Object Set examCount CreateObject(Scripting.Dictionary) Set failCount CreateObject(Scripting.Dictionary) For i 2 To lastRow courseName Trim(CStr(ws.Cells(i, 4).Value)) If courseName Then GoTo NextRow 有效成績記錄計入考試人數(shù) If examCount.Exists(courseName) Then examCount(courseName) examCount(courseName) 1 Else examCount(courseName) 1 End If 掛科記錄計入掛科人數(shù) If IsFail(ws.Cells(i, 6)) Then If failCount.Exists(courseName) Then failCount(courseName) failCount(courseName) 1 Else failCount(courseName) 1 End If End If NextRow: Next i統(tǒng)計完成后遍歷examCount字典把課程名稱、考試人數(shù)、掛科人數(shù)、掛科率逐行寫入輸出表。掛科率保留一位小數(shù)或百分比形式同時用條件格式把掛科率超過20%的科目標紅方便快速定位問題課程。3.4 多字段核心判斷組合掛科數(shù)據(jù)處理中有一個容易忽略的點同一個學生某一門課掛科了但在另一門課里是緩考緩考雖然也算掛科但定義略有不同。比如學校可能有規(guī)則緩考學生可以直接參加補考不占用掛科名額也不會進入學業(yè)預警名單。這種細微差別落到代碼里就是一個布爾變量的調整。我的經驗是把是否掛科和是否計入預警拆成兩個獨立的判斷函數(shù)。掛科名單里包含缺考和緩考但預警名單只考慮成績60的真實不及格。這樣代碼雖然多了一個函數(shù)但語義清晰也方便應對不同院系的不同規(guī)則。Function IsWarningFail(scoreCell As Range) As Boolean Dim raw As String raw Trim(CStr(scoreCell.Value)) 只有純數(shù)字且小于60才計入預警 If IsNumeric(raw) Then IsWarningFail (CDbl(raw) 60) Else IsWarningFail False End If End Function這種把規(guī)則拆解到函數(shù)級別的寫法是我在多次處理績效數(shù)據(jù)的過程中逐漸養(yǎng)成的習慣。一次性把所有邏輯寫在一個事件處理程序里看起來省事但后期要調整一個規(guī)則時改動影響范圍會比較大容易顧此失彼。4. 完整實操流程與報表生成4.1 環(huán)境準備與數(shù)據(jù)約定實際操作前先約定輸入輸出格式。我用一個獨立的工作簿來處理這類數(shù)據(jù)文件里通常包含四個工作表原始數(shù)據(jù)、掛科名單、科目統(tǒng)計、預警名單。輸入數(shù)據(jù)固定在原始數(shù)據(jù)表中運行宏后會清空其他三個表并重新填充內容。在寫代碼前先確認幾個約定成績在原始數(shù)據(jù)表的第6列F列表頭行是第1行。學號在第1列姓名第2列班級第3列課程名稱第4列學分第5列。所有列的數(shù)據(jù)都不允許包含合并單元格如果原始導出文件里有合并單元格先用Excel取消合并并填充。提示在模擬項目X的實際操作中出現(xiàn)過原始數(shù)據(jù)用Excel公式生成導致部分單元格值為0但公式未計算的情況。建議拿到數(shù)據(jù)后先做一次粘貼為值處理再進入VBA流程。4.2 主流程代碼結構整個宏的主體結構如下包含了數(shù)據(jù)清洗、校驗、統(tǒng)計、輸出四個環(huán)節(jié)并結合輸入標題VBA實戰(zhàn)案例處理掛科數(shù)據(jù)的全部需求點。該主過程采用模塊化的設計方便按需裁剪或調試。Sub ProcessFailData() Dim wsData As Worksheet, wsFail As Worksheet, wsStat As Worksheet, wsWarn As Worksheet Set wsData ThisWorkbook.Sheets(原始數(shù)據(jù)) Set wsFail ThisWorkbook.Sheets(掛科名單) Set wsStat ThisWorkbook.Sheets(科目統(tǒng)計) Set wsWarn ThisWorkbook.Sheets(預警名單) Dim lastRow As Long lastRow wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row If lastRow 2 Then MsgBox 原始數(shù)據(jù)為空請檢查數(shù)據(jù)表。 Exit Sub End If 清空輸出表舊數(shù)據(jù)保留表頭 ClearOutputSheets wsFail, wsStat, wsWarn 第一階段遍歷并過濾寫入掛科名單 Dim i As Long Dim failRow As Long, statRow As Long, warnRow As Long failRow 2 statRow 2 warnRow 2 Dim dictStu As Object, dictExam As Object, dictFail As Object Set dictStu CreateObject(Scripting.Dictionary) Set dictExam CreateObject(Scripting.Dictionary) Set dictFail CreateObject(Scripting.Dictionary) For i 2 To lastRow 跳過無效記錄學號為空或姓名為空 Dim stuID As String, stuName As String stuID Trim(CStr(wsData.Cells(i, 1).Value)) stuName Trim(CStr(wsData.Cells(i, 2).Value)) If stuID Or stuName Then GoTo ContinueLoop Dim courseName As String, scoreCell As Range courseName Trim(CStr(wsData.Cells(i, 4).Value)) Set scoreCell wsData.Cells(i, 6) 科目考試人數(shù)統(tǒng)計 If examCountExist(dictExam, courseName) Then dictExam(courseName) dictExam(courseName) 1 Else dictExam(courseName) 1 End If 判斷掛科寫入掛科名單表 If IsFail(scoreCell) Then 寫入掛科名單 wsFail.Cells(failRow, 1).Value stuID wsFail.Cells(failRow, 2).Value stuName wsFail.Cells(failRow, 3).Value wsData.Cells(i, 3).Value wsFail.Cells(failRow, 4).Value courseName wsFail.Cells(failRow, 5).Value wsData.Cells(i, 5).Value wsFail.Cells(failRow, 6).Value scoreCell.Value failRow failRow 1 科目掛科人數(shù)統(tǒng)計 If failCountExist(dictFail, courseName) Then dictFail(courseName) dictFail(courseName) 1 Else dictFail(courseName) 1 End If End If 按學生聚合預警計數(shù)僅真實不及格 If IsWarningFail(scoreCell) Then If dictStu.Exists(stuID) Then dictStu(stuID) dictStu(stuID) 1 Else dictStu(stuID) 1 End If End If ContinueLoop: Next i 輸出科目統(tǒng)計 Dim key As Variant For Each key In dictExam.Keys wsStat.Cells(statRow, 1).Value key wsStat.Cells(statRow, 2).Value dictExam(key) If dictFail.Exists(key) Then wsStat.Cells(statRow, 3).Value dictFail(key) wsStat.Cells(statRow, 4).Value Format(dictFail(key) / dictExam(key), 0.0%) Else wsStat.Cells(statRow, 3).Value 0 wsStat.Cells(statRow, 4).Value 0.0% End If statRow statRow 1 Next key 輸出預警名單 Dim stuIDKey As Variant For Each stuIDKey In dictStu.Keys If dictStu(stuIDKey) 2 Then wsWarn.Cells(warnRow, 1).Value stuIDKey wsWarn.Cells(warnRow, 2).Value GetStudentName(stuIDKey, wsData, lastRow) wsWarn.Cells(warnRow, 3).Value dictStu(stuIDKey) Dim stuClass As String stuClass GetStudentClass(stuIDKey, wsData, lastRow) wsWarn.Cells(warnRow, 4).Value stuClass warnRow warnRow 1 End If Next stuIDKey 格式化輸出表格 FormatOutputSheets wsFail, wsStat, wsWarn MsgBox 處理完成掛科名單 (failRow - 2) 條科目 (statRow - 2) 門預警 (warnRow - 2) 人。 End Sub寫這段代碼時有一個反復權衡的點預警名單里需要補充學生的班級信息。若在遍歷成績記錄時把學號、姓名、班級對應關系存入字典內存開銷會明顯增加但訪問速度更快。我在模擬項目X里選擇了單獨寫一個GetStudentName和GetStudentClass函數(shù)每次按需在原始數(shù)據(jù)表里查找。學生人數(shù)在兩千以內時速度尚可如果數(shù)據(jù)量超過一萬行建議換成字典緩存方式。4.3 輔助函數(shù)實現(xiàn)上面主流程中用到了一些輔助函數(shù)這里一并列出來。重點看一下從字典中判斷鍵是否存在的寫法因為這幾段代碼在不同版本的Office里兼容性有細微差別Function examCountExist(dict As Object, key As String) As Boolean On Error Resume Next examCountExist Not IsError(dict(key)) Err.Clear End Function Function failCountExist(dict As Object, key As String) As Boolean On Error Resume Next failCountExist Not IsError(dict(key)) Err.Clear End Function Function GetStudentName(stuID As String, wsData As Worksheet, lastRow As Long) As String Dim i As Long For i 2 To lastRow If Trim(CStr(wsData.Cells(i, 1).Value)) stuID Then GetStudentName wsData.Cells(i, 2).Value Exit Function End If Next i End Function Function GetStudentClass(stuID As String, wsData As Worksheet, lastRow As Long) As String Dim i As Long For i 2 To lastRow If Trim(CStr(wsData.Cells(i, 1).Value)) stuID Then GetStudentClass wsData.Cells(i, 3).Value Exit Function End If Next i End Function補充說明判斷字典中是否存在某個鍵還有一種更標準的寫法是使用字典的Exists方法。上面之所以用錯誤捕獲方式是因為在部分老版本兼容場景下直接調用Exists對中文鍵的支持有一些量化差異。但如果你用的Office版本較新2016及以上直接用dict.Exists(key)更穩(wěn)妥代碼也更短。實際部署時建議優(yōu)先用Exists方法If Not dictExam.Exists(courseName) Then dictExam.Add courseName, 1 Else dictExam(courseName) dictExam(courseName) 1 End If4.4 報表格式化技巧數(shù)據(jù)統(tǒng)計完成后報表的呈現(xiàn)直接影響使用者閱讀效率。以下這段是格式化輸出的實現(xiàn)重點在于用單元格邊框和顏色把信息分層Sub FormatOutputSheets(wsFail As Worksheet, wsStat As Worksheet, wsWarn As Worksheet) 設置統(tǒng)一表頭樣式 Dim headerRng As Range Set headerRng wsFail.Range(A1:F1) headerRng.Font.Bold True headerRng.Interior.Color RGB(0, 102, 204) headerRng.Font.Color RGB(255, 255, 255) 掛科名單邊框 Dim lastFailRow As Long lastFailRow wsFail.Cells(wsFail.Rows.Count, 1).End(xlUp).Row If lastFailRow 2 Then wsFail.Range(A2:F lastFailRow).Borders.LineStyle xlContinuous wsFail.Range(A2:F lastFailRow).Borders.Weight xlThin End If 科目統(tǒng)計表掛科率超過20%的標記為紅色 Dim lastStatRow As Long lastStatRow wsStat.Cells(wsStat.Rows.Count, 1).End(xlUp).Row For i 2 To lastStatRow Dim rateVal As Double rateVal 0 If IsNumeric(wsStat.Cells(i, 4).Value) Then rateVal CDbl(wsStat.Cells(i, 4).Value) End If If rateVal 0.2 Then wsStat.Cells(i, 4).Font.Color RGB(192, 0, 0) wsStat.Cells(i, 4).Font.Bold True End If Next i 自動調整列寬 wsFail.Columns(A:F).AutoFit wsStat.Columns(A:D).AutoFit wsWarn.Columns(A:D).AutoFit End Sub格式化時有一個經常被忽略的細節(jié)AutoFit對中文表頭有時不夠友好特別是當表頭文字較長時自動列寬可能讓單元格顯示不全。遇到這種情況建議單獨給表頭列設置一個最小寬度值。wsFail.Columns(A).ColumnWidth 12 wsFail.Columns(B).ColumnWidth 10 wsFail.Columns(C).ColumnWidth 144.5 一鍵運行的入口設計為了讓不熟悉VBA的教務老師也能方便使用我在工作簿中增加了一個刷新報表按鈕并指定宏為ProcessFailData。這樣使用者只需要在原始數(shù)據(jù)表粘貼新數(shù)據(jù)點擊按鈕所有結果就自動更新。按鈕的添加方式很簡單開發(fā)工具選項卡中插入表單控件按鈕右鍵指定宏。如果所在的Excel版本不顯示開發(fā)工具選項卡需要在文件-選項-自定義功能區(qū)里勾選開發(fā)工具。這一步驟對于沒有VBA經驗的人來說也可能卡住所以我在交接說明里特意寫清楚了路徑。5. 實操過程中遇到的坑與排查技巧5.1 成績列存在隱藏空格導致比較失敗實際處理中碰到過一個很隱晦的問題成績列的值在表面上是58但實際上是58 數(shù)字后面帶空格或者是全角數(shù)字。這些字符在視覺上和半角數(shù)字幾乎一致但CStr轉換后參與判斷就會出問題。排查這類問題的最快方式是在VBA代碼里臨時輸出每個成績單元格的ASCII碼。我當時用了一個調試小工具逐格檢查才發(fā)現(xiàn)空格的問題。解決方案是統(tǒng)一用Trim加一個自定義的清理函數(shù)把全角字符轉成半角Function CleanStr(text As Variant) As String Dim result As String result Trim(CStr(text)) 全角數(shù)字轉半角 Dim i As Integer For i 1 To Len(result) Dim ch As String ch Mid(result, i, 1) If Asc(ch) 65281 And Asc(ch) 65374 Then ch Chr(Asc(ch) - 65248) End If result Left(result, i - 1) ch Right(result, Len(result) - i) Next i CleanStr result End Function全角轉半角這段邏輯雖然簡單但它解決了一類非常典型的數(shù)據(jù)導入問題。教務系統(tǒng)從網(wǎng)頁端導出的數(shù)據(jù)經?;烊肴亲址惶幚淼脑捄罄m(xù)的學號匹配、姓名匹配都可能靜默失敗。5.2 同一課程名稱表述不一致導致統(tǒng)計被拆開教務數(shù)據(jù)里同一門課在不同老師那里可能表述不同。比如高等數(shù)學在某些記錄里寫成高數(shù)大學英語有時寫成英語。這種情況下科目維度的統(tǒng)計會被錯誤地拆分成兩行掛科率算出來也會偏小。解決思路有兩個方向一是在數(shù)據(jù)源頭統(tǒng)一課程名稱找教務系統(tǒng)重新導出或者在Excel里做一次查找替換二是在VBA代碼里維護一個課程名稱映射表。映射表更適合場景固定、課程數(shù)量有限的情況。我當時做了一個Dictionary映射把常見別名歸一化到規(guī)范名稱Dim courseMap As Object Set courseMap CreateObject(Scripting.Dictionary) courseMap.Add 高數(shù), 高等數(shù)學 courseMap.Add 英語, 大學英語 courseMap.Add 線代, 線性代數(shù)在遍歷數(shù)據(jù)時每讀到一個課程名稱先查映射表若有別名就替換成規(guī)范名再參與統(tǒng)計。這樣做還有個額外好處輸出報表里的課程名稱是統(tǒng)一的不會讓看報表的人產生困惑。5.3 數(shù)據(jù)量增大時性能變慢模擬項目X的初期版本四千多行數(shù)據(jù)跑一次宏大約需要十幾秒主要耗在輸出環(huán)節(jié)和GetStudentName/GetStudentClass的反復全表查找上。如果每個預警學生都要遍歷一次全表性能開銷確實不小。優(yōu)化思路有兩個預警名單輸出前已經知道哪些學號需要查詢姓名和班級可以邊遍歷邊收集學生信息而不是最后再查。也就是在第一次遍歷時把每個學號對應的姓名、班級存入字典后面直接取用。關閉屏幕更新和自動計算。在宏開頭加上Application.ScreenUpdating False和Application.Calculation xlManual宏結束再恢復。這段小改動通常能帶來三到五倍的性能提升。Sub ProcessFailData() Application.ScreenUpdating False Application.Calculation xlManual ... 原有邏輯 ... Application.Calculation xlCalculationAutomatic Application.ScreenUpdating True End Sub5.4 常見問題速查問題現(xiàn)象可能原因排查與解決辦法運行宏時提示類型不匹配成績列存在文本或全角字符用CleanStr統(tǒng)一轉換數(shù)據(jù)或用IsNumeric先做類型判斷科目統(tǒng)計中同一課程出現(xiàn)兩行課程名稱不統(tǒng)一建立課程別名映射表歸一化名稱后再統(tǒng)計預警名單漏人判斷函數(shù)沒覆蓋缺考標記檢查IsWarningFail邏輯確認缺考與真實不及格的區(qū)分規(guī)則輸出表格沒有邊框/顏色格式化代碼未執(zhí)行檢查FormatOutputSheets是否在主流程末尾被調用數(shù)據(jù)更新后舊結果被保留沒有清空輸出表舊數(shù)據(jù)在輸出前調用ClearOutputSheets先做整表內容清除按鈕點擊后沒有反應宏被禁用文件另存為啟用宏的工作簿.xlsm并在選項里啟用宏學號前導0丟失Excel自動把學號識別為數(shù)字在原始數(shù)據(jù)里把學號列設置為文本格式或從教務系統(tǒng)導出時選文本格式6. 這套方案還可以延伸去做什么處理掛科數(shù)據(jù)只是VBA教務自動化的一個入門場景。同一套思路——遍歷、字典聚合、條件判定、格式化輸出——遷移到其他場景時基本不需要大改。比如說綜合測評排名。原始數(shù)據(jù)換成多個維度的評分項判定規(guī)則換成加權得分計算輸出表換成排名表核心代碼框架可以原樣復用。再比如說選課名單核查。把掛科判定換成沖突檢測判斷邏輯可以檢查同一個時間段內是否分配了兩門課程。再比如畢業(yè)資格審核按學號聚合各學生已修學分和必修課完成情況輔助判斷是否達到畢業(yè)條件。我個人實際使用這套方案時最大的體會就是永遠不要在原始數(shù)據(jù)表里手工改數(shù)據(jù)。把數(shù)據(jù)清洗、統(tǒng)計、輸出分成三個相對獨立的過程每次有新的數(shù)據(jù)文件就新開一個工作簿把原始數(shù)據(jù)粘貼進去運行宏生成結果。這樣原始數(shù)據(jù)永遠可追溯結果也隨時可以重新生成不會出現(xiàn)改了一個單元格結果忘記刷新統(tǒng)計的尷尬情況。另一個經驗是交給別人使用的工具界面友好度比代碼優(yōu)雅度更重要。我在最終版本里特意在預警名單表頂部加了一行說明文字提示預警規(guī)則是真實掛科超過兩門避免使用者和教務辦對預警口徑有不同的理解。代碼里每一處規(guī)則都寫了注釋防止半年后自己回來看的時候還得重新猜邏輯。如果你剛接觸VBA建議先拿這個案例的數(shù)據(jù)結構——一張成績表、幾個統(tǒng)計需求——練手。把代碼一行行在本地跑通再試著修改掛科線、增加一個統(tǒng)計維度、或者把輸出格式改得更符合自己的偏好。VBA的學習曲線不算平緩但這種接到一個真實需求解決一個具體問題的學習方式比單純看語法書要有效得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美色图在线视频少妇| 久久久月天| 欧美三级中文字幕hd| 亚州性色| 丝袜美腿91| 色月天AV导航| 五月天丁香| 天天射天天操天天干天天吃2018 | 情色五月天就去干| 日韩噜噜69| 97香焦色区| 久久久网站| 99久久久无码精品国产人| 国产免费内射视频| 欧美天天干| 怡红院成人视频| 国产成人啪一区二区| 久久深夜无码| 这里只有精品视频| 久久美女国产| 97久久精品国产| 九九英色视频| 男人天堂.AB| 无码抄逼网| 蜜臀AV成人精品蜜臀| 免费精品国偷自产在线在线| 777琪琪午夜免费A片| 欧美少妇高潮| 青女偷拍网| 国产精品97超碰| 欧美猛交黑寡妇中文字幕| 色综合美国| 99综合网| 第四色亚洲色图| 欧美性爱97超碰 | 99热思思| 免费精品福利在线观看| 91九色在线| 肉嘟嘟www视频在线观看高清| 成人性爱视频在线看| 免费?级毛片无码?∨蜜芽试看| 啪啪视频免费在线观看| 久久专区| 欧美性爱无码一区二区三区| 亚洲精品啪视频| 欧美日本中字另类在线| 天天爽天天干| 91黑丝美女| 国产精品久久久久久久久久久久久久久久 | 97欧美久久久久久久| 热久日综合| 欧美日韩系列| 乱伦色图网址是多少| 香蕉热人人精品| 少妇高潮特黄A片| 麻豆人妻精品一区二区| 蜜臀亚洲中文| 夜夜操夜夜高潮夜夜爽国产精品区| 久久9999 | 国产乱伦一二三区| 一区二区三区亚洲| 人人操人人操草草| 中文字幕一二三区| 夜色91| 探花视频免费观看国产专区| 99re免费视频精品全部| 亚洲av乱伦色图网站| 丁香五月天社区| 成人日韩中文字幕| 综合情欲网| 97亚洲中文| 天天激清| 女人午夜视频777| 无码日韩网站| 蜜臀人妻少妇久久在线观看| 91精品国| 18禁看网站一区| av强奸乱轮| 亚洲AV成人无码一区二区三区在线观看 | 欧美东京热精品A∨| 国产伦精品一区二区三区在线观| 欧美专利1区2区3区4区5区免费| 五十路熟女工口| 色亚州人久干视频在线观看免费版| 蜜桃午夜视频一区二区 | 亚洲色图久久成人| 人妻激情视频| 国产第25页在线观看| 丁香五月婷婷基地| 国产不卡的视频 | 婷婷五月天av| 美日韩一二三区| 高清孕妇孕交 交孕妇| 日本一二区不卡| 99久久久无码精品国产人| 丁香五月综合| 欧洲精品一二三在线| 久久精品久| 很很热性爱视频| 1024亚洲中文字幕久在线看片你懂的| 亚洲综合一| V A在线| 女人被添高潮免费视频| 91精品免费| 激情小说亚洲| 国产女人成人精品视频| 2026国产精品视频| 色屁屁影院www国产| 五月婷婷大香蕉| 久插综合| 欧美高清色| 色综合色综合网| 啊啊啊啊啊啊啊在线| 五月丁香黄色网| 97色婷婷| 99精品人妻| 激情专区综合| 97超碰公开| 亚洲欧美自拍偷拍| 成人A片男人的天堂| 日韩欧美字幕亚洲一区二区| 欧美日韩婷婷中文| 三级日韩一区二区三区| 视频二区美腿丝袜制服人妻欧美| 色色97爱| 激情看片网站| 欧美天天搞| 伊人女女资源在线观看| 91黄射| 大香网站| 干美女人妻| 国产日本久久免费精品| 亚洲高清综合网| 天天淫人人妻日日色| 久久97精品久久久久久久不卡| 亚欧高清v| 美女91色黄18| 国产欧美亚洲精品a第2页| 97超碰人操| 93人人操人人| 后入日本1234| 九色97| 欧美组图日韩亚洲中文字幕| 青青草玖玖爱| 日亚韩精品视频二区三| av天堂加勒比| 新版天堂中文资源8在线| 欧美综合777| 强奸乱伦中文字幕AV| 情色五月天就去干| 亚洲 欧美 中文 日韩超碰| 久久久久白虎| 亚洲图片欧美制度| 啪啪一区| 国产精品不卡高清在线观看| 亚洲永久永久永久永久一级一级一级精品| 美日韩男女操屄视频| 大香蕉伊在线久草麻豆天堂故事| 亚洲色图殴美色图激情乱伦| 国产精品一区二区手机看片| 噜噜噜噜天天狠狠| 四虎AV无码| 欧美黄片欧美黄片xxx| 国产精品一二三| 偷拍 精品另类 凸凹了四区| 国产极品粉嫩馒头一线天av| 哈哈操电影AV| 日韩草久视频| 欧美特大黄一级片片免费| 国内一区二区免费| 東南亚性呦成人伦理资源在线视频| 青青草日本无码| 亚洲综合另类小说色区亚洲成av人片在www| 97超碰人人操人人操| 91美女看B| 人人考人人摸人人干| 亚洲麻豆av一区二区| 淫骚熟女一区二区三区| 看看小穴| 91日韩在线| av爱爱爱| 亚洲图片另类| 超碰97综合| 色老牛| 韩国一级做A片免费的| 亚洲三级。日韩三级| 日产中文字幕2020| 9色在线| 淫荡熟女乱伦网| 人妻丝袜日本| 色色青青久久| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 日韩另类色图| 中文字幕性感少妇av| 国产精品久久久吖| 91精品人妻一区二区三区蜜臀| 一区二区三区蜜桃成人撸久久东京热 | 亚洲精品久久久久久久蜜桃臀| 欧美在线电影| 久久精品一区二区三区四区五区| 东京热毛片调教| 国产精品丝袜久久亚洲不卡| 日本97久久久精品| 亚洲人妻熟妇三十三区| 丝袜狠狠草尤物人妻av91| 婷婷久久综合久| 8050无码八戒| 欧美亚洲中文字幕| 人妻激情偷乱视三区频一区二区| 亚洲AV秘 精品久久老牛影视| 亚洲a色| 男人天堂最新手机版在线青青草| 91性| 亚洲自拍青操视频| 超碰在线91| 精品夜夜澡人妻无码AV| 97超碰欧美精品| 亚洲久久天堂| 美女裸体无遮挡永久免费观看网站| 国产久久天堂资源| 七月婷婷综合| 日韩一区二区精彩视频| 亚洲好看强奸乱伦| 伊人久久艹| 激情接吻视频久久久久久| 久久精品国产亚洲AV片多多 | 国内毛片欧美香蕉精品| 草草草视频在线免费看| 999国产精品999久久久久久| 岛国艾薇凹凸视频天堂| 亚洲黄色影视| 黑操B| 午夜天天碰综合视频| 久久久蜜桃一区二区三区| 无遮挡h肉动漫在线观看| 日韩久久.一级黄色片| 欧美欧美啪啪视频| 思思热国产在线视频| 国产女人极品高潮毛片| 91丨九色丨熟女高潮| 五月天婷婷激情| 熟妇亚洲一区二区三区| 久久久久久久久久精| 中文字幕久久亚州无码| 午夜噜噜噜| 久久在线观看免费视频| 影音先锋日本一区二区| 亚洲一级特黄大片在线播放91| 97人人操人人摸人人爱| 91爽啪| 天天摸夜夜摸| 日韩成人人妻网站| 乱欲视频| 亚洲成人日韩小说| 九九碰九九爱97| 亚洲精品日韩国产欧美| 磁力99AV| 亚洲色电影在线| 亚洲无无码αⅴ每日更新| 无码精品久久久天天影视| 久久久国产成人一区二区三区在线| 久操精品网| 欧美黄色图片| 理论久久婷婷网8| 曰韩中文人妻视频| 色翁荡息又大又硬又粗又爽| 亚洲天堂区| 久久动漫精品视频这里只有精品| 91丝袜在线播放| 成全在线观看免费观看| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 日日夜夜模| 日本女人久久久| 囯戸精品高潮呻吟旡码| 亚洲欧美大| 学生妹天天看| 啪啪啪东京| 五月综合色| 91黑丝操| 370p日韩欧美亚洲精品| 射 色综合| 日本亚欧爱爱| 青娱乐国产盛宴视频| 中文字幕黑人大片| 91狠狠狠| 国产欧美日韩在线不卡第一页| 丝袜综合| 26uuu最新| 黄色小视频日本txt| 极品后入免费视频| 韩三级a视频在线观看| 激情综合五月婷婷| 久久久久久久久久久人妻| 亚洲全色网| 欧美日韩亚洲少妇寂寞影院正在播放 | 国精精品无码一二三区水多多| 亚州成人a∨| 97欧美日韩综合| 国产偷拍自拍在线视频| 亚洲图片 激情小说| 国内偷拍精品一区二区| 天堂九九九九九九九九九| 97爱啪| 韩国午夜理伦三级好看| 亚熟hd视频在线| 浓厚中出中文字幕在线| 日韩钢筋无码高清啾啾啾| 96精品久久久久久久久久| 99无码视频| 亚洲性综合11| 亚洲午夜av| 欧美色图99| 婷婷久热| 亚洲美女AV无码| 在线啊啊啊啊| 天堂а√在线最新版在线| 欧美午夜色妇色鬼| 先锋激情∨在线视频播放| 国产熟妇一区二区| 一区二区三区成人高清视频| 老司机午夜精品福利视频一区二区| 玖玖爱免费观看视频| 智利AV在线网| 婷婷成人五月天| 亚洲精品97久久| 亚洲 一区二区 自拍| 九七毛片九九毛片| 啪啪91| 秋霞Av理论一级在线| 99999精品成人| av三级电影在线播放| 色蜜AV| 四虎精品永久在线播放| 欧美久久婷婷| h无码动漫在线观看| 九九九九97| www.狠狠| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 男人a天堂手机在线版| 久久九九精品一区二区| 99re6久热只有精品6在线直播| 天天干天天操天天操夜夜操天天操| 国产传媒1234区| 乱欲一区二区| 日韩强奸av| 超碰1997| 性色一线| 2019天天干天天操| 啊啊啊啊啊好多水| AV中文字幕剧情1区2区3| 自偷自拍的亚洲视频| 一级二级在线观看| 一本色道久久综合狠狠操| 日韩AV一区二区三区四四| 国产黄色剧情影片麻豆免费播放| 久久超碰天天| 欧美激情色婷婷花野真衣一区二区 | 极品色社| 日韩乱插| 日本操色导航| 亚川综合视频| 乱伦熟妇一区二区| 超碰97男女| 亚洲超碰综合网| 欧美日韩丝袜| www久久99| 操啊国产| 操屄日韩| 五月天亚洲色图| 91亚洲丝袜熟女| 91oumei| 亚洲国产精品有声| 亚洲欧美国产中文视频| 蜜臀久久99精品久久久久久-DVD原版全| 夜夜操中文字幕| 日韩中文字幕熟妇人妻| 欧美|91色综合| 国产AV久久久蜜爱影集| 亚洲AV噜噜狠狠网址蜜桃动漫| 超碰78| 先锋音影AV| 超碰免费在线| 九九激情网| 亚洲无码久久久久久久| 日韩成人性爱AV| 伊人欧美大香蕉视频| 免费?级毛片无码?∨蜜芽试看| 丰满美女一级毛片在线播放| 欧美天天综合网版| 91男女| 亚洲综合69| 超碰天天操| 自拍欧美| 欧美大战久久久伊人| 九九热免费在线国产视频伊人五月| 人人扣人人操| 精品一区二区三区蜜桃臀赵总 | 欧美大战久久久伊人| 人妻社区男人天堂| 亚洲情色一区二区三区| 亚洲情色一区二区三区| 91老熟女老女人国产老太| 成人日本精品九区| 最新精品久久蜜桃 | 最新岛国大片| 欧美v亚洲v日韩v最新在线二区 | 色婷婷成人| 91Chinese在线| 色色五月丁香| 97久久久久久久精| 99操| 久久久久久裸体| 夜夜高潮夜夜爽国产伦精品| 97免费在线观看| 黄页| 欧美人人操人人插| 1024人妻熟女一区二区三区| 国产18精品亚洲精品| 午夜丁香婷婷| 97 超碰 人人做 人人爱| 97久久久精品| 欧美激情 亚洲色图| 精品久久久久久久| 欧美一区二区福利在线| 亚洲欧美国产其他二区| 亚洲。日韩。欧美| 亚洲精品不卡一二三区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日本高清熟女久久一区| 亚洲999综合| 青娱乐啪啪视频| 伊人丁香五月婷婷| 婷婷伊人| 91高潮喷水美女| 欧美丝袜中文字幕07在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久久九九网| 日韩伦理久 久久 清纯| 亚洲色棕合| 91白虎| 久久久久久国产精品免费网站| 超碰在线看| 久干网| 亚洲中文字幕一区二区| 高清国产性猛交xxxx乱大交| 久久丁香| 欧美色图在线视频少妇| 亚洲国产精品99久久久| 天天日夜夜爽| 毛片麻豆91糖心精品毛情片| 中文字幕日韩专区精品系列| 91狠狠综合久久| 99黄页网站| 久久久久9999| 日本色婷婷| 69精品在线| 老鸭窝成人| 老熟妇一区二区三区…| 夜夜高潮夜夜爽| 日日干日日摸| 99精品热| 天天天干977| 美國A片| 亚洲淫乱骚妇AV| 欧在线一二区| 亚洲人妻一区二区三区| 日韩欧美~中文字| 国产精品激情久久久久久久| 超碰这里只有精品| 91福利网在线观看| 伊人97超碰| 欧美亚洲特P| 成人26uuu| 中文字幕视频一区视频二区| 女优大全 - 91n| 秋霞视频一区二区| 久久久无码精品人妻二区| 欧亚性爱啪啪| 啊啊啊好疼| 日韩欧美成人性爱在线| 国产成人天堂| 欧美日韩国产中文精品字幕自在自线| 亚洲吊色| 色情五月综合婷婷| 欧美日韩中文字幕不卡| 色99在线| 91亚洲人| 亚洲大色堂| 波多野结衣被操50分钟免费视频| 91夜夜蜜桃臀1区2区3区| 91视频精品| 91+欧美| 特级特黄一级毛片免费| 9久精品视频在线观看| 777AV电影| 丝袜狠狠草尤物 91| 国产三级多多影院2022国产AA一级毛片无码| 91欧美性| 狠狠操狠狠爱| 91操操操操| 欧美中文字幕一区 | 久久禁| 九九香蕉网| 97免费在线| 国产AV人人 夜夜人人澡| 久久免费99精品久久久久久| 日韩干B| 激情久久久| 校园春色综合网| 一区二区三区四区久久视1| 国产成人一级av88| 亚洲熟女av中文字幕| 操我啊啊啊啊啊| 天天干天天燥| 变态综合色| 青青草吊丝| 日韩欧美国产高清视频| 日本爽爽爽爽爽爽免费视频| 91在线丝袜| 亚洲 图片 综合91| 黄色在线网站| 俄罗斯及免费在线看| 1二区9| 曰韩操B| 欧美综合色,www| 2019天天操天天爽天天拍| 亚欧Av| 欧美色图片| asc国产精品| 天天摸夜夜摸| av资源在线播放天堂| 日语五十路和六十路亚洲国产精品| 国产亚洲日本| 色综合中文字幕不卡| 97任你吞精| 国产真乱mangent| 情色大香蕉| 97视频620| 六九九九| 色色五月天激情| AV在线性爱| 国产97视频| 国产精品第一页国产大屁股视频免费区i| 91 手机在线播放 绯色| 色综合五月天| 无码人妻丰满热妇又大又粗| 日韩免费高清大片在线| 久久日本熟妇熟色一区| 67914在线兔费成人视频| 久久最新视频免费观看| 97免费在线视频在线观看| 丰满人妻av一区二区三区| 国产精品久久久久久久AV大片| 97超碰欧美精品| 欧美综合色综合| 大香蕉伊然在亚洲91| 国产农村妇女精品一| 天美麻豆精品视频99| 天天日夜夜爽| 久久激情综合| 韩国一级做A片免费的| AV不卡在线| 国产精品黄色三级av| 日日操免费视频| 亚洲欧洲成人在线电影| 91熟女在线| 国产AV中文| 欧美高清16| 另类欧美综合| 99精品人妻| 色香天天| 日本精品一区二区三区四区的功能| 超碰久久.com| 天天日天天看| 亚洲色91| 91色综合| 国产操逼视频在线观看| 先锋激情∨在线视频播放| 欧美亚洲国产91在线| 国产精品久久aV| 天天视频黄| 色视频蜜乳| 亚洲欧美在线观看无码| 欧美精品成人在线播放| 黄页视频网站野外| 日韩一级片在线看| 开心五月激情网| 大香蕉123| 九九精品美女高溯喷水| 97超碰天天爱天天爱| 欧美一区二区传媒| 狠狠躁天天躁日日躁97| 麻豆天天躁天天揉揉AV| 人人妻人人爽| 亚洲无码国产探花在线观看| 91久久久亚洲| 金莲网址| 婷婷伊人网| 91n美女视频| 91l欧美在线| 久9爱精品| 婷婷色综合欧美日韩| 国内偷自视频区视频综合| 日韩亚洲中文字幕在线| 色噜噜狠狠色综无码久久合欧美| 国产怡红院| 免费超碰97久久| 一本色道久久综合精品婷婷| 色吊丝 日日骚 清纯唯美| 国产一区二区三区白丝| 亚洲日韩精品在线播放| 熟女在线视频| 97日韩欧美亚洲| 亚洲国产精品无码AV久久| 日韩激情小说一区二区| 国产欧美日韩女同性恋ww喷水精品| 日夜久久久九九九久| 操死我了啊啊啊| 国产精品另类一区大香蕉| 久综合国内精品自在自线| 99re国产中文字幕| 亚熟hd视频在线| 男人综合网| 综合免费无码中文| 97一区二区蜜臀| KK色在线影院| 色五天伊人| 国产精品一区人妻精品阁在线| 亚洲综合草草| 无码人妻一区二区三区色欲aⅴ| 欧美黑人精品在线播放| 老熟女区| 亚洲图片欧美色| 中文字幕成人理论在线| 日韩av色图综合| 亚洲欧美色图片| 丁香婷婷九月| 亚洲资源网| 级做a爱无码性色永久免费| 午夜精品久久久久久久99蜜桃一| 精品乱码久久久久| 夜夜草天天| 蜜臀久久99精品久久久久久久久| 国产欧美日产一区二区三区 - 国产欧美日 | 国产精品一级片在线看| 日本A级视频| 91欧洲国产成人久久精品网站| 一区二区三区机械有限公司| 色婷婷日韩精品一区二区三区| 成人性爱视频在线看| 欧美熟妇乱码在线一区| 九色黄站| 中文字幕日韩综合| 国产精品久久久亚洲第一牛牛_在线观看| 高潮的A片激情扒开一区| 天天干天天日天天射黄色| 高清孕妇孕交 交| 国产精品自拍欧美在线| 国产视频97| 女人双腿搬开让男人桶| 五月天欧美色图| 顶级丝袜熟女一区二区三区| #NAME?| 韩国一级婬片A片无码天美| 二区熟妇韩日| 无码动漫av中文字幕| 欧插网站| 91精品国产91综合久久蜜臀| 99re这里只有精品中心播放 | 嫩草影院在线观看精品| 97精品97久久| 欧美日韩啪啪电影| 国产精品久久久久999| 欧美亚洲| 久草电影网| 色五月综合| 国产精品播放| 欧美少妇第一页| 51久久夜色精品国产麻豆| 国产人妻一区二区三区欧美毛片| 天天精品| 人妻91少妇| 精品国产乱码久久久久久久久1| 色汉综合| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久热69九色熟妇97| 欧美18老人禁| 亚洲久久东京热一二三四五区视频| 精品一区二区人妖| 国产AV中文| 白丝少妇一区二区| 国产福利精品最新在线| 亚洲日韩天堂| 欧美日韩青操| 日本一级一级一级一级| 999热这里只有精品| 亚洲成人精品久久久| 日本操逼视频导航| 夜夜一区二区| 91深夜夜| 欧亚三区动漫| 91伊人影视综合| 强奸乱伦αv片| 欧美日韩亚洲天堂| 超碰到97情色| www老逼91| 亚洲 国产 精品一区| 欧美夜夜| ...日韩成人一区二区三区字幕| 久久99操天天日| av在线观看不卡网站| 水滴偷拍| 中文字幕av丝袜| 日韩精品一区二区三区四虎影视| 麻豆美女丝袜人妻中文| AV久日| 99色热| 三级日本一区二区三区| 五月开心久久AV官网| 成人片在线播放| 飘花国产午夜精品不卡| 国产三级片在线观看| 亚洲综合另类色图| 大香蕉在线视频重口味毛片在线| 少妇干B| 无码操逼网| 丰满人妻aA一区二区三区| 黑人精品欧美一区二区蜜桃| 操人妻逼91| 天天日天天操心| 午夜寂寞欧美| 在线A日本| 亚洲黑人在线| julia国产在线 | 欧美人妖内射| 精品一区二区三区蜜桃臀www| 五月丁香六月婷综合成人综合 | 97jingpin| 天天看特黄的免费网站| 九九久久久久久爱| 鲁鲁色综合网| 亚洲情色婷婷五月天| 天天躁日日躁AAAXX| 先锋色眉乱伦资源| 岛国A V在线免费看| 日韩精品中文字幕人妻| 最近二区三区视频大全| 91亚洲综合在线| 风间由美日韩欧美久久| 色九九九九九九| 99re热| 人妻蜜桃臀| 素人伊尹大香蕉免费下载视频| 无码人妻精品一区二区三区九九| 欧美性暴力猛交XXXX| 偷拍亚洲高清图片| 日韩内射视频| 在线天堂999| 久久綜合很很很| 日韩99神马视频片| 欧美色图成人网一区二区| 日韩精品人妻中文字幕久久久| 中文字幕丝袜人妻| 久久伊人网视频一区二区三区| 亚洲s在线观看| 色人久久| 亚91亚洲网| 夜夜狠狠躁日日躁色视频| 丝袜视频一区二区在线播放国产中文| 亚洲 欧美 小说| 干B| 久操视频在线| 97精品久久| 日韩熟女操逼| 欧美日韩国产中文精品字幕自在自线| 欧美日韩香蕉| 色色婷婷丁香| 欧洲天天在线| 国产精品久久久777| 激情文学亚洲| 青青草好吊色| 干我久操| 91色五月俺来也| 艳尻美人妻| 国产蜜臀在线| 日本综合色图| 无码精品一区二区三区潘金莲| 亚洲av乱伦色图网站| 中文字幕老熟妇黄色视频| 欧美性色综合网| 欧洲性人爱视频| 亚洲人久久久久日| 欧美大香蕉专区网| 视频二区美腿丝袜制服人妻欧美| 一区| 精品久久97| 人人看人人插| 色爱国产| 无码免费一区二区三区啪啪| 91人妻久久久久久久久久久久久| 中文字幕青青草| 国产真乱mangent| 一区在线国产播放| 97欧美精品综合| 91精品在线播放| 日韩在线电影| 国产麻豆一级精品视频| 日本天堂网| 天天日骚逼熟女| 人人爱人人乐人人操| 美国日韩黄色片| 狼人综合婷婷激情四射| av亚洲天堂资源网站| 亚洲三级。日韩三级| 超碰无码加勒比| 五月丁香六月激情综合| 精品无码久久久久| 久久AV无码AV| 久久精品性| 一区 欧美 日韩 麻豆| 一二三区精品视频| 亚洲啪啪视频一区二区| 极品丝袜无码| 国产精品另类| 蜜桃视频成a人v在线| 神马视频久久久久久| 一本大道久| 亚洲无码超碰免费| 电影69乱码96| 日本加勒比无码专区| 女人被添高潮免费视频| 97bbn| 国产精品人人爽人人做可爱福利| 国色天香av| 少妇三p| 日韩亚洲精品一区二区| 97超级欧美| 国产自制av蜜乳| 啊啊啊啊啊啊啊国| 综合亚洲欧美| 婷婷综合五月天| 天天舔天天日天天射| 日韩av不卡在线看| 天天看特黄的免费网站| 色图综合| 日日狠狠久久偷偷色综合免费| 超碰久草| 9999免费精彩视频| 欧美色图自拍| 亚洲天堂 视频你懂的| 性生活性生大爱77AV国产| 97任你吞精| 天天综合站| 粉嫩绯色AV一区二区在线| 中文字幕久久亚州无码| 国产麻豆福利av在线播放| 91人妻久久久久久久久久久久久| 思思热在线cao| 久久一本大香蕉 | 女性91网站| 日本一区二区三区欧美日韩中文字幕| 91丝袜| 又黑又大又粗 | WWW黄片COM| 97国产|免费| 91N欧美| 人妻少妇久久中文字幕一区二区 麻豆 | 综合自拍| 成人国产二区三区在线,男女精品。| 激情小说五月天| 伊人麻豆传媒| 四虎国产成人精品免费一女五男| 国产无码高清操逼视频| 精品九九九九九九九九九| 国产91精品福利在线| 亚洲成人帖图| 91麻豆天美国产欧美日| 亚洲A曰本VA欧美VA视频| 美女主播色欲91抠b在线播放| 国产欧美精选激情视频| 天天日熟妇| 人妻AV 中文字幕的| 97色碰| 伊人影院在线理论播放| 日本午夜操逼| 91色香| 国产成人主播| 国产无套粉嫩白浆在| 夫妻天天操岛国视频| 国产 日韩 欧美一区| 四虎视频在线观看| 亚洲国产高清福利视频| 清纯唯美亚洲综合| 日日A∨| 91人妻做a观看视频| 亚洲欧美天堂| #NAME?| 乱精品一区字幕二区| 免费一级a毛片久久久久久鸭绿欲| 欧美色道啊| 色情婷婷| 国产区91柔拿会所技师| 91第一页| 美日韩一二三区| 嗯嗯啊在线视频| 欧美精品一区二区少妇免费A片| 超碰在线在公开超碰在线在公开| 精品国产自在在线99| 国产小黄片在线免费观看| 久久午夜色播影院免费高清| 亚洲精品一卡二卡三卡福利视频网站| 熟女精品一区二区三区| 婷婷五月天激情网| AⅤ片水多多| 99超碰网| 亚州欧美一区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美精品一区二区少妇免费A片| 日本男人插女人的逼黄色| www色婷婷| 少妇高潮对白在线观看| 久久av无码| 亚洲综合20p| 天天综合~91| 欧美 牲| 亚洲AO在线| 日本三级韩国三级99| 丁香五月婷婷基地| 欧美久久人人网| 欧美偷拍区| 97超碰人人模人人拍人人| 欧美宗合色| 亚洲污污网站| 欧美韩日精品资源| 97视频www| 大香蕉在线免| 18岁禁 茉莉成人久久| av在线浏览| 久操综合在线| 操逼1区| 成人免费看吃奶视频网站| 成人无码在线超碰网| 人人性爱视频免费| 操逼操逼操| 天天综合网AV91| 青娱乐手机日韩在线视频| 色天欧美| 手机av亚洲丝袜美腿日韩第一页二页| yy少妇精品久久| 热久久国产精品视频大陆精品| 久久精品视频在线观看| 久久、1234| 少妇高潮喷水无套久久久久久| 久久內射| 亚洲影视第一页| 99re69综合| 国产乱码精品久久久久久| 亚洲色图 综合| 国产后入清纯| 欧美色91| 欧美综合第一页| 日韩欧美日韩| 91人妻人人澡人人爽人人精品| 人妻熟女一区二区三区视频| 91痴汉| 91网站18禁| 亚洲本色精品一区二区久久| 91在线秘 男同| 浪人综合网| 九九RE视频在线精品| 亚洲情色第一页| 国产白领连续中出在线观看| 精品久久九| 国产精品禁久久久精品| 91精品人| 日韩性爱毛片操骚逼| 蜜桃无码AV一区二区| 又黑又大又粗| 青青草吊丝| 玖日综合网| 欧美色图20p| 久久性爱网站| 国产欧美一区激情交| 欧美成人亚洲精品| 麻豆影音天美视频| 欧美偷| 黄色操人| 日韩黄色一区二区三区| 日韩乱码av| 欧美色图 人妻| 午夜啊啊| yaouchengrenav| 精品人妻美妇91job| 欧美精品在线观看| 吊色| 欧美人人操人人插| 91三级理论片播放器| 嗯啊免费视频| 国产精品国产| 可以免费看黄片的视频| 啪啪资源网| 亚洲熟妇图片| 亚洲丝袜二区在线| 欧美18老人禁| 天天天天操| oumeizonghese,www| 国产剧情在线| 欧美一级美片在线观看免费| 亚洲精品国产精品乱码不99| 伦在线97| 欧美亚洲| 色色99| 欧亚揄拍偷拍精品视频| 国产精品视频91久久| 国模私拍一区二区三区神乳| 久久天堂婷婷网| 51一区二区三区| 黄色大片免费在线| 九九热男人天堂| 国产少妇内射| 双插性欧美一二三区| 在线观看黄色电话| 97bbn| 熟妇的味道HD中文字幕| 中文字幕 人妻不满 在线视频| 熟女久久久| 亚洲无码超碰免费| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 91久久婷婷| 国产情色第一第二页在线观看| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 国产精品久久久久久照片| 青青青国产| 欧美综合第一页| 25国产精品免费观看| 草B在线| 人人操人人叉人人插人人| 日韩情色AV| 日韩免费一级性爱视频| 四虎AV无码| 超碰欧美97| 2001天天操| 3PAV乱伦视频| 嗯啊不要在线观看嗯啊| 大香蕉中文在线| 色99在线| …亚洲黄色厕厕女女在线播…| 亚洲强奸乱伦影视网| 四虎在线播放| 综合影视国产无码| 激情视频一二三| 午夜寂寞欧美| 天天α片| 日韩人妻 中文字幕| 久久久少妇诱惑精品视频| 无码免费精品高清| 久久大香蕉97| 国产亚洲色婷婷久久99精品91| 99热精品在线观看| 性爱久久| 97视频在线播放| 91天堂视频| 国产一级137片内射麻豆| 日韩精品作爱导航| 中文字幕av亚洲在线| 中文字幕免费在线观看| 国产剧情一区在线观看| …亚洲黄色厕厕女女在线播…| 蜜臀亚洲中文| 精品久久久久久中文| 国产精彩女在线观看视频| 国产女人成人精品视频| 色图四区| 久久久久久久久久久久久久久乱码| 曰韩操B| 蜜臀无码一区二区| 99这里只有精品| 无码不卡亚洲成?人片| 久久日本熟女精品一区| 午夜福利成人免费视频| 精品传媒在线一区| 99国产精品在线观看| 午夜精品久久久久久久久久蜜桃| 日韩美女久久一区二区三区| 天天视频网站黄| 夜夜做夜夜爽精品视频| 欧美激情总合网| 中文人妻av高清一区| 日韩91网| 嗯嗯啊啊的视频| 色五月av| 亚洲小电影免费涩涩成人在线高清| 91九九九小逼| 色综合久| 两女互慰AV高潮喷水在线观看| 中文字幕伊人| 欧洲Au麻豆| 欧美黑人精品一区二区| 国产午夜精品理论片a大结局| 香蕉免费一区二区三区不读 | 97国产精品视频| 在线亚洲丝袜视频网站| 久久久久成人蜜桃精品| 最新亚洲人成网站在线影院| 男人的天堂久久| 男生女生啊啊啊啊| 色色色综合| 国产成人www免费人成看片| 九九热九九| 五月天精品| 国产污视频麻豆传媒一区二区 | 久草综合视频| 亚洲 欧美 中文 日韩超碰| 国产网红精品| 日本东京热久久久电影| 国产av热热色| 97干在线看| 日日狠狠久久偷偷色综合免费| 亚洲视频1区| 97超碰色| 久久久亚洲精品中文字幕人妻| 少妇69中文| 精品久久99| 久久精品店| 思思热国产在线视频| 精品人妻一区二区三区四区石在线 | 99精品网| 午夜黄色免费在线观看| 亚洲另类欧美精品| 欧美天天综合网| 欧美日本不卡在线| 91欧美性| 97超碰久| 樱花草社区www中国| 亚洲婷婷五月天| 香蕉久久国产AV一区二区| 天天夜躁日日躁狠狠2002| 亚洲国产精品久久AV| 蜜桃久久久久久| 插日本熟女视频| 99久久久无码精品国产人| 熟妇人妻一区二区三在线| 老熟女搡BBBB搡BBBB视频| 影音先锋每日最新资源在线观看 | 嗯~啊~快点 死我视频| 丁香六月啪啪| 不卡啪啪视频| 无码精品一区二区三区潘金莲| 1769国内精品视频| 99999亚洲另类| 亚洲在钱| 久超碰这里只有精品| 国产美女口爆吞精| 日日干男人的天堂| 久久久久密臀视频| 91爰爱欧美| 在线情色电影 91大| 国产精品3| 99re在线视频| 日韩欧美中文字亚洲慕|