欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

VBA編程中Nothing、Empty、Null與Error的深度解析與實戰(zhàn)應(yīng)用

VBA編程中Nothing、Empty、Null與Error的深度解析與實戰(zhàn)應(yīng)用 1. 項目概述為什么VBA里的“空”這么讓人頭疼干了這么多年VBA開發(fā)我敢說至少有30%的調(diào)試時間都花在和“空值”較勁上。新手寫代碼最怕的就是彈出一個“運行時錯誤‘91’對象變量或With塊變量未設(shè)置”或者明明看著單元格是空的用If Range(“A1”) “”判斷卻死活不對。這背后就是VBA里那幾個看似簡單實則各有各的“脾氣”的空值關(guān)鍵字在作祟Nothing、Empty、Null還有那個經(jīng)常被誤會的Error。這些東西官方文檔講得比較分散和理論化而實際開發(fā)中它們的區(qū)別直接關(guān)系到程序是穩(wěn)定運行還是瞬間崩潰。比如你用Set了一個對象后來想釋放它是該用Set obj Nothing還是Set obj Empty從數(shù)據(jù)庫里讀出一個字段值是Null你直接把它賦值給一個變量后續(xù)計算會不會報錯一個函數(shù)可能因為各種原因失敗你是返回一個特定的Error值還是干脆讓程序彈窗報錯這些選擇每一天都在考驗著VBA開發(fā)者的基本功。今天我就結(jié)合自己踩過的無數(shù)個坑把這幾個概念掰開揉碎了講清楚。這不是語法教科書而是一份來自一線的“避坑指南”。無論你是剛接觸VBA想弄明白If rs.EOF Then和If rs Is Nothing Then到底有什么區(qū)別還是已經(jīng)寫了幾年代碼想更優(yōu)雅地處理各種邊界情況這篇文章里的內(nèi)容都能讓你少走彎路。我們會從它們最本質(zhì)的定義出發(fā)用大量實際的代碼片段和場景模擬讓你不僅知道每個關(guān)鍵字是什么更明白在什么情況下該用誰以及用錯了會怎么樣。2. 核心概念深度辨析四種“空”的本質(zhì)與差異理解這幾個關(guān)鍵字絕對不能死記硬背。你必須把它們放到VBA這個特定的“生態(tài)系統(tǒng)”里看它們各自扮演什么角色。我們可以從兩個最根本的維度來區(qū)分它們數(shù)據(jù)類型和適用場景。Nothing是給對象Object準(zhǔn)備的“空”Empty是給變體Variant變量在未賦值時的默認狀態(tài)Null是一個特殊的Variant子類型專門表示“未知數(shù)據(jù)”或“不含有效數(shù)據(jù)”而Error則是Variant的另一個子類型但它包裹的是一個錯誤號用于錯誤處理流程。2.1 Nothing對象的“身份證注銷”Nothing這個關(guān)鍵字是VBA中對象引用的專屬“空值”。你可以把它理解為一個對象變量的“復(fù)位鍵”。當(dāng)一個對象變量被聲明后例如Dim ws As Worksheet它實際上還沒有指向任何具體的對象這時它的值是Nothing。當(dāng)你用Set關(guān)鍵字讓它指向一個實際對象如Set ws ThisWorkbook.Worksheets(“Sheet1”)后它就不再是Nothing了。最后當(dāng)你不再需要這個對象或者想釋放它時你就用Set ws Nothing來切斷這個引用。注意Set ws Nothing并不意味著銷毀了那個Worksheet對象本身Excel還開著Sheet1當(dāng)然還在。它只是銷毀了ws這個變量對那個對象的“引用鏈接”。如果這是指向那個對象的最后一個引用VBA的垃圾回收機制會在后續(xù)某個時間點清理該對象占用的內(nèi)存。但對于Excel這類宿主應(yīng)用程序的對象其生命周期主要由宿主管理。核心判斷方法使用Is運算符。這是唯一正確判斷一個對象變量是否為Nothing的方法。Dim coll As Collection If coll Is Nothing Then MsgBox “變量coll尚未被Set為一個具體的Collection對象?!?End If Set coll New Collection ‘ 此時 coll Is Nothing 為 False Set coll Nothing ‘ 此時 coll Is Nothing 又變回 True最常見的坑試圖使用一個為Nothing的對象變量。這會導(dǎo)致“運行時錯誤‘91’”。Dim ws As Worksheet ‘ ... 假設(shè)忘記執(zhí)行 Set ws ... ws.Name “Test” ‘ 錯誤ws是Nothing沒有具體的對象可以操作。2.2 Empty變體變量的“出廠設(shè)置”Empty是變體Variant數(shù)據(jù)類型變量在聲明后、首次賦值前的默認值。它是一種特殊的Variant子類型vbEmpty。關(guān)鍵點在于Empty是一個值它表示“尚未初始化”而不是“沒有值”或“錯誤的值”。一旦你給一個Variant變量賦了任何值哪怕是0、空字符串””或Null它的Empty狀態(tài)就消失了。核心特性在數(shù)值上下文中為0在字符串上下文中為空字符串””。這是Empty最“狡猾”的地方它會在參與運算時自動進行類型轉(zhuǎn)換。Dim varValue As Variant ‘ 聲明后varValue 為 Empty Debug.Print varValue ‘ 立即窗口顯示“”空 Debug.Print varValue 10 ‘ 輸出 10 (Empty被當(dāng)作0) Debug.Print “Value: “ varValue ‘ 輸出 “Value: “ (Empty被當(dāng)作””) varValue “Hello” ‘ 現(xiàn)在 varValue 是字符串子類型vbString不再是Empty。如何判斷Empty使用IsEmpty()函數(shù)。Dim varTest As Variant If IsEmpty(varTest) Then ‘ 返回 True Debug.Print “變量是Empty” End If varTest Null If IsEmpty(varTest) Then ‘ 返回 FalseNull不是Empty。 Debug.Print “這行不會執(zhí)行” End If與空字符串””的區(qū)別這是另一個高頻混淆點。一個單元格被手動清空內(nèi)容按Delete鍵后其.Value屬性通常是Empty對于Variant類型Range.Value。而如果一個單元格輸入了一個等號公式但公式返回空字符串””那么其.Value就是空字符串””而不是Empty。用IsEmpty()函數(shù)可以清晰地區(qū)分它們。2.3 Null數(shù)據(jù)庫世界的“未知數(shù)”Null是一個Variant子類型vbNull它表示未知的、不存在的或不適用的數(shù)據(jù)。這個概念在數(shù)據(jù)庫領(lǐng)域至關(guān)重要。在VBA中Null主要出現(xiàn)在與數(shù)據(jù)庫如ADO、DAO記錄集交互時或者某些可能返回Null的API函數(shù)中。核心特性任何涉及Null的表達式結(jié)果都是Null傳播性。這是Null最需要警惕的特性也被稱為“Null的傳播”。Dim varNum As Variant varNum Null Debug.Print varNum 5 ‘ 輸出 Null Debug.Print “Text: “ varNum ‘ 輸出 Null Debug.Print varNum Null ‘ 輸出 Null (注意不是True) Debug.Print varNum Null ‘ 輸出 Null (也不是False)看到了嗎最后兩行是巨坑你不能直接用等號或不等號來判斷一個值是否為Null因為比較的結(jié)果本身也是Null在If語句中Null被視作False但這會導(dǎo)致邏輯混亂。如何判斷Null必須使用IsNull()函數(shù)。Dim varData As Variant varData Null If IsNull(varData) Then ‘ 正確返回 True Debug.Print “變量是Null” End If If varData Null Then ‘ 錯誤這個條件永遠無法被滿足結(jié)果為Null即False。 Debug.Print “這行永遠不會執(zhí)行” End If與Empty的對比Empty是VBA變量的初始狀態(tài)而Null通常表示從外部如數(shù)據(jù)庫獲取的、有意義的數(shù)據(jù)缺失狀態(tài)。IsEmpty(Null)返回FalseIsNull(Empty)也返回False它們是兩個完全不同的概念。2.4 Error不是錯誤的“錯誤值”Error是一個特殊的Variant子類型vbError它包含一個錯誤號。它并不是一個運行時錯誤不會中斷代碼執(zhí)行而是一個可以像普通值一樣存儲、傳遞的“錯誤標(biāo)識符”。它通常由某些函數(shù)在內(nèi)部出錯時返回而不是通過Err.Raise拋出異常。最常見的來源CVErr()函數(shù)。你可以用它將一個錯誤號轉(zhuǎn)換成一個Error值。Dim varResult As Variant varResult CVErr(11) ‘ 11 對應(yīng)錯誤“被零除” If IsError(varResult) Then ‘ 使用IsError()函數(shù)判斷 Debug.Print “變量包含一個錯誤值錯誤號是” CLng(varResult) End If核心用途在自定義函數(shù)中當(dāng)遇到特定計算錯誤如參數(shù)無效、除零時不直接彈出錯誤中斷用戶而是返回一個Error值讓調(diào)用者自己決定如何處理。Function SafeDivide(num1 As Double, num2 As Double) As Variant If num2 0 Then SafeDivide CVErr(11) ‘ 返回“被零除”錯誤值 Else SafeDivide num1 / num2 End If End Function Sub Test() Dim v As Variant v SafeDivide(10, 0) If IsError(v) Then MsgBox “計算出錯無法進行除法?!?Else MsgBox “結(jié)果是” v End If End Sub與運行時錯誤的區(qū)別Error值是一個“安靜”的錯誤指示器。而Err對象如Err.Number是在運行時錯誤發(fā)生并被捕獲后用于獲取錯誤信息的。你可以通過CVErr(Err.Number)將捕獲的錯誤轉(zhuǎn)換為Error值進行傳遞。3. 實戰(zhàn)場景與應(yīng)用技巧如何正確使用與判斷理論講完了我們進入實戰(zhàn)環(huán)節(jié)。知道它們是什么只是第一步更重要的是在代碼里用對地方。下面我通過幾個最常見的開發(fā)場景展示如何精準(zhǔn)地使用和判斷這些關(guān)鍵字。3.1 場景一安全地操作對象處理Nothing當(dāng)你編寫一個函數(shù)需要接收一個工作表對象作為參數(shù)時防御性編程至關(guān)重要。Sub ProcessWorksheet(ByRef ws As Worksheet) ‘ 第一步永遠先檢查對象是否為Nothing If ws Is Nothing Then MsgBox “未提供有效的工作表對象?!? vbExclamation Exit Sub End If ‘ 第二步進一步檢查對象是否“存活”對于某些可能已被刪除的對象 On Error Resume Next Dim nameTest As String nameTest ws.Name ‘ 嘗試訪問一個屬性如果對象無效會出錯 If Err.Number 0 Then MsgBox “工作表對象可能已被刪除或無效?!? vbCritical Exit Sub End If On Error GoTo 0 ‘ 安全地使用對象 ws.Range(“A1”).Value “處理開始” ‘ … 其他操作 … End Sub ‘ 調(diào)用示例 Sub Caller() Dim mySheet As Worksheet ‘ 情況1忘記Set ProcessWorksheet mySheet ‘ 將觸發(fā)“未提供有效對象”的提示 ‘ 情況2正常Set Set mySheet ThisWorkbook.Worksheets(“Sheet1”) ProcessWorksheet mySheet ‘ 正常執(zhí)行 ‘ 情況3Set為Nothing后 Set mySheet Nothing ProcessWorksheet mySheet ‘ 將觸發(fā)“未提供有效對象”的提示 End Sub實操心得對于任何可能來自外部輸入或動態(tài)生成的對象參數(shù)在函數(shù)內(nèi)部開頭進行Is Nothing檢查是一個必須養(yǎng)成的好習(xí)慣。這能避免90%以上的“錯誤91”。3.2 場景二處理單元格數(shù)據(jù)區(qū)分Empty、””、Null從Excel單元格讀取數(shù)據(jù)是VBA的日常。一個單元格可能包含多種“空”狀態(tài)。Sub CheckCellValue() Dim rng As Range Set rng ThisWorkbook.Worksheets(“Data”).Range(“A1”) Dim cellValue As Variant ‘ 必須用Variant接收因為.Value可能返回多種類型 cellValue rng.Value ‘ 判斷邏輯鏈順序很重要 If IsError(cellValue) Then ‘ 單元格是錯誤值如#N/A, #DIV/0! MsgBox “單元格包含錯誤” CStr(cellValue) ElseIf IsNull(cellValue) Then ‘ 通常來自數(shù)據(jù)庫查詢Excel單元格直接輸入Null的情況較少 MsgBox “單元格值為Null未知數(shù)據(jù)” ‘ 處理Null例如賦予默認值 cellValue 0 ElseIf IsEmpty(cellValue) Then ‘ 單元格從未被輸入過內(nèi)容真正的“空”單元格 MsgBox “單元格為Empty未初始化” ‘ 可以將其視為0或空字符串處理 cellValue “” ElseIf cellValue “” Then ‘ 單元格內(nèi)容是一個空字符串例如公式 ”” MsgBox “單元格是空字符串”” ‘ 按空字符串處理 Else ‘ 單元格有實際內(nèi)容數(shù)字、文本、日期等 MsgBox “單元格值為” cellValue End If End Sub注意事項判斷順序有講究。IsError應(yīng)該放在最前面因為一個Error值用IsNull或IsEmpty判斷也會返回False但它的本質(zhì)是錯誤。其次判斷IsNull再判斷IsEmpty。最后判斷空字符串””。因為一個Empty值在比較””時結(jié)果為TrueEmpty在字符串上下文中轉(zhuǎn)換為””所以如果你先判斷””就會把Empty也當(dāng)成空字符串從而無法區(qū)分兩者。3.3 場景三與數(shù)據(jù)庫交互Null的專項處理從ADO記錄集Recordset中讀取數(shù)據(jù)是Null出現(xiàn)的主戰(zhàn)場。Sub ReadFromDatabase() Dim conn As Object, rs As Object Dim employeeName As Variant, salary As Variant ‘ … 假設(shè)已建立連接并打開記錄集 … While Not rs.EOF ‘ 讀取字段值可能為Null employeeName rs.Fields(“Name”).Value salary rs.Fields(“Salary”).Value ‘ 處理可能為Null的字段 Dim displayName As String If IsNull(employeeName) Then displayName “[姓名未知]” Else displayName CStr(employeeName) End If Dim displaySalary As String If IsNull(salary) Then displaySalary “[薪資未錄入]” Else ‘ 注意即使不是Null也要小心類型可能數(shù)據(jù)庫中是DecimalVBA中最好用CDbl轉(zhuǎn)換 displaySalary Format(CDbl(salary), “#,##0.00”) End If Debug.Print displayName “: “ displaySalary rs.MoveNext Wend ‘ … 關(guān)閉記錄集和連接 … End Sub更安全的寫法使用Nz函數(shù)如果可用在Access VBA或某些庫中有一個非常方便的Nz()函數(shù)它可以將Null轉(zhuǎn)換為指定的默認值。在純Excel VBA中我們可以自己實現(xiàn)一個Function Nz(ByVal Value As Variant, Optional ByVal ValueIfNull As Variant “”) As Variant ‘ 模擬Access的Nz函數(shù) If IsNull(Value) Then Nz ValueIfNull Else Nz Value End If End Function ‘ 使用方式 salary Nz(rs.Fields(“Salary”).Value, 0) ‘ 如果為Null則返回0這個自定義的Nz函數(shù)能極大簡化代碼避免到處都是If IsNull(...) Then的判斷。3.4 場景四構(gòu)建健壯的自定義函數(shù)利用Error假設(shè)我們要寫一個查找函數(shù)當(dāng)找不到時不返回0或空字符串這可能與有效數(shù)據(jù)沖突而是返回一個錯誤值。Function VLookupSafe(lookupValue As Variant, tableRange As Range, colIndex As Long) As Variant ‘ 增強版的VLOOKUP找不到時返回錯誤值#N/A而不是報錯 On Error Resume Next ‘ 屏蔽VLOOKUP本身的錯誤 Dim result As Variant result Application.WorksheetFunction.VLookup(lookupValue, tableRange, colIndex, False) If Err.Number 0 Then ‘ 如果出錯通常是找不到清除錯誤返回CVErr(2042)對應(yīng)#N/A Err.Clear VLookupSafe CVErr(2042) Else VLookupSafe result End If On Error GoTo 0 End Function Sub TestLookup() Dim dataRange As Range Set dataRange ThisWorkbook.Worksheets(“LookupTable”).Range(“A:B”) Dim searchKey As String searchKey “SomeKey” Dim foundValue As Variant foundValue VLookupSafe(searchKey, dataRange, 2) If IsError(foundValue) Then If foundValue CVErr(2042) Then MsgBox “未找到關(guān)鍵字” searchKey Else MsgBox “查找過程中發(fā)生其他錯誤?!?End If Else MsgBox “找到的值為” foundValue End If End Sub技巧使用CVErr(2042)來模擬Excel內(nèi)置的#N/A錯誤這樣你的函數(shù)返回值可以與Excel原生函數(shù)的行為保持一致調(diào)用者也可以用IsError()和IsNA()在VBA中是WorksheetFunction.IsNA來統(tǒng)一處理。4. 混合場景與高級陷阱當(dāng)它們同時出現(xiàn)時真實的代碼往往更復(fù)雜這些“空值”可能會在同一個邏輯流里交織出現(xiàn)。處理不當(dāng)就會掉進深坑。4.1 陷阱一在集合或字典中查找可能為Null的鍵VBA的Scripting.Dictionary和Collection對象其鍵Key不能是Null。嘗試添加Null作為鍵會引發(fā)錯誤。Sub DictionaryWithNullKey() Dim dict As Object Set dict CreateObject(“Scripting.Dictionary”) Dim keyValue As Variant keyValue Null On Error Resume Next dict.Add keyValue, “SomeData” ‘ 這里會出錯 If Err.Number 0 Then Debug.Print “錯誤不能使用Null作為字典的鍵。” End If On Error GoTo 0 ‘ 解決方案在添加前轉(zhuǎn)換Null dict.Add Nz(keyValue, “[NULL]”), “SomeData” ‘ 使用之前定義的Nz函數(shù) End Sub教訓(xùn)任何要將值用作唯一標(biāo)識符如字典的鍵、集合的查找依據(jù)的場景都必須先對值進行“清洗”將Null轉(zhuǎn)換為一個唯一的占位符如字符串”[NULL]”。4.2 陷阱二將對象、Empty、Null傳遞給可選參數(shù)VBA支持可選參數(shù)Optional并且可以指定默認值。但這里有個細微差別。Sub TestOptionalParam(Optional ByVal param As Variant Empty) Debug.Print “參數(shù)類型” VarType(param) “, IsEmpty: “ IsEmpty(param) End Sub Sub Caller() TestOptionalParam ‘ 不傳參param將是真正的Empty TestOptionalParam Null ‘ 顯式傳入Nullparam將是Null不是Empty TestOptionalParam Nothing ‘ 傳入Nothingparam是一個包含Nothing的VariantVarType為9(vbObject) End Sub如果你在函數(shù)內(nèi)部期待一個Empty值作為“未提供參數(shù)”的標(biāo)志那么調(diào)用者顯式傳入Null就會破壞這個邏輯。更安全的做法是使用IsMissing關(guān)鍵字僅對Variant類型且未指定默認值的參數(shù)有效或定義一個特殊常量來標(biāo)識“未提供”。Sub SaferOptional(Optional ByVal param As Variant) If IsMissing(param) Then Debug.Print “參數(shù)未提供” ElseIf IsNull(param) Then Debug.Print “參數(shù)被顯式指定為Null” Else Debug.Print “參數(shù)值為” param End If End Sub4.3 陷阱三在數(shù)組和用戶自定義類型Type中數(shù)組元素和用戶自定義類型的字段其“空”狀態(tài)取決于它們的數(shù)據(jù)類型。Variant數(shù)組每個元素初始為Empty。對象數(shù)組每個元素初始為Nothing。數(shù)值/字符串?dāng)?shù)組每個元素初始為該類型的默認值0、””等。用戶自定義類型數(shù)值字段為0字符串字段為””對象字段為NothingVariant字段為Empty。這里沒有Null的默認位置除非你顯式賦值。但當(dāng)你從數(shù)據(jù)庫讀取一整條記錄到一個Variant數(shù)組時數(shù)據(jù)庫中的Null值會被保留到數(shù)組的對應(yīng)元素中。Sub ArrayWithNull() Dim dataFromDB As Variant ‘ 假設(shè)rs.GetRows返回的記錄集中有Null dataFromDB rs.GetRows Dim i As Long For i LBound(dataFromDB, 2) To UBound(dataFromDB, 2) If IsNull(dataFromDB(0, i)) Then ‘ 檢查第一列是否為Null ‘ 處理Null值 dataFromDB(0, i) “[NULL]” End If Next i End Sub5. 調(diào)試與排查如何快速定位“空值”相關(guān)錯誤當(dāng)程序因為空值問題崩潰或行為異常時如何快速定位以下是我常用的調(diào)試流程和技巧。5.1 錯誤“91”對象變量未設(shè)置這是最經(jīng)典的空值錯誤。排查步驟定位出錯行啟用“發(fā)生錯誤則中斷”的調(diào)試模式VBE中工具 - 選項 - 通用 - 錯誤捕獲 - 遇到未處理的錯誤時中斷。檢查對象變量將鼠標(biāo)懸停在出錯行涉及的所有對象變量上查看提示是否為“Nothing”?;厮葙x值路徑檢查該對象變量在何處被Set。常見原因?qū)ο髣?chuàng)建失敗如Set ws Worksheets(“不存在的表”)。對象已被釋放或關(guān)閉如記錄集rs在調(diào)用.Close后未置為Nothing但后續(xù)又誤用。邏輯分支遺漏在If或Select Case的某個分支里忘記Set對象。使用立即窗口在中斷模式下在立即窗口輸入?objVar Is Nothing來快速驗證。5.2 邏輯錯誤判斷條件失效程序沒報錯但結(jié)果不對往往是Null或Empty的判斷邏輯出了問題。‘ 有問題的代碼 If rs.Fields(“Amount”).Value 0 Then ‘ 如果Amount字段在數(shù)據(jù)庫中是Null這個條件會得到Null在If中相當(dāng)于False導(dǎo)致邏輯跳過。 ‘ 本意是想排除0值結(jié)果連Null也排除了。 End If ‘ 正確的代碼 Dim amountVal As Variant amountVal rs.Fields(“Amount”).Value If Not IsNull(amountVal) Then If amountVal 0 Then ‘ … 處理非零且非Null的值 … End If End If調(diào)試技巧在懷疑的判斷語句前使用Debug.Print輸出關(guān)鍵變量的值和類型。Debug.Print “amountVal: “; amountVal; “, Type: “; VarType(amountVal); “, IsNull: “; IsNull(amountVal)VarType函數(shù)會返回一個數(shù)字如0表示Empty1表示Null8表示字符串等等這是判斷變量當(dāng)前子類型最直接的方法。5.3 數(shù)據(jù)傳遞錯誤函數(shù)返回值異常自定義函數(shù)返回了意想不到的Empty、Null或Error。檢查所有退出路徑確保函數(shù)在所有可能的邏輯分支包括If...Else、Select Case、錯誤處理Exit Function中都對返回值進行了賦值。初始化返回值在函數(shù)開頭將返回變量設(shè)為一個明確的初始值如0、””或Empty這是一個好習(xí)慣。使用類型更嚴(yán)格的返回值如果函數(shù)邏輯上不可能返回Null或Error考慮將返回類型聲明為具體的類型如Double、String而不是Variant。這樣VBA會在返回時進行類型檢查有時能提前發(fā)現(xiàn)問題。但要注意如果函數(shù)內(nèi)部計算可能產(chǎn)生Null賦給一個String變量會導(dǎo)致類型不匹配錯誤。6. 性能與最佳實踐寫出更健壯的代碼理解了概念避開了陷阱最后我們聊聊如何從代碼設(shè)計和習(xí)慣上根本性地減少空值帶來的煩惱。6.1 變量聲明與初始化策略對象變量聲明時即為Nothing。在使用前養(yǎng)成先判斷再使用的習(xí)慣。對于可能為Nothing的傳入?yún)?shù)在過程開頭進行防御性檢查。Variant變量如果用于接收可能為Null或Empty的外部數(shù)據(jù)如單元格值、數(shù)據(jù)庫字段保持為Variant類型。如果用于內(nèi)部計算應(yīng)盡早轉(zhuǎn)換為具體類型并處理空值。‘ 好的做法 Dim rawInput As Variant rawInput Range(“A1”).Value Dim processedValue As Double If IsNumeric(rawInput) Then ‘ IsNumeric對Empty返回True視為0對Null返回False processedValue CDbl(rawInput) Else processedValue 0 ‘ 或根據(jù)業(yè)務(wù)邏輯處理 End If ‘ 后續(xù)計算全部使用processedValue它是確定性的Double類型。具體類型變量String, Long, Double等它們沒有Empty或Null狀態(tài)。如果你嘗試將Null賦給它們會得到“無效使用Null”的錯誤。因此從可能為Null的源如數(shù)據(jù)庫賦值時必須用IsNull保護。6.2 函數(shù)與API設(shè)計建議明確契約在函數(shù)注釋中清晰說明參數(shù)是否可以接受Nothing/Null/Empty以及返回值在何種情況下會是這些特殊值。優(yōu)先返回具體類型如果可能讓函數(shù)返回具體類型而非Variant。調(diào)用者無需擔(dān)心Null或Error。如果確實需要表示“未找到”或“錯誤”可以考慮其他模式返回一個布爾值表示成功/失敗并通過ByRef參數(shù)返回結(jié)果。返回一個自定義的包含狀態(tài)和結(jié)果的類實例。錯誤處理對于不可恢復(fù)的錯誤使用Err.Raise主動拋出錯誤。對于可預(yù)見的、作為正常業(yè)務(wù)邏輯一部分的“未找到”等情況返回一個特定的Error值如CVErr(2042)或一個特殊常量如vbNullString比返回Null或Empty更明確因為后兩者的含義可能模糊。6.3 代碼可讀性技巧使用有意義的常量或函數(shù)包裝不要到處寫If IsNull(...)。可以定義像之前Nz()那樣的工具函數(shù)或者定義模塊級常量。Public Const NOT_FOUND As String “#NOT_FOUND#” Function GetEmployeeName(ByVal id As Long) As String ‘ … 查找邏輯 … If Not Found Then GetEmployeeName NOT_FOUND Else GetEmployeeName nameFromDB End If End Function注釋說明特殊值對于可能返回Null或特定Error值的函數(shù)在函數(shù)頭部用注釋明確說明。‘ 函數(shù)CalculateBonus ‘ 參數(shù)sales – 銷售額Double類型 ‘ 返回值Variant。成功時返回獎金數(shù)額(Double) ‘ 如果銷售額為負數(shù)返回CVErr(2023)自定義錯誤表示無效輸入 ‘ 如果計算過程出現(xiàn)除零錯誤返回CVErr(11)。處理Nothing、Empty、Null和Error本質(zhì)上是在處理程序的“邊界情況”和“異常狀態(tài)”。把這些情況考慮周全你的VBA代碼的健壯性和可維護性會提升一個巨大的檔次。剛開始可能會覺得繁瑣但一旦形成肌肉記憶寫出穩(wěn)定可靠的代碼就是水到渠成的事。最關(guān)鍵的是不要再只用If var “”來判斷所有“空”了根據(jù)場景該用Is Nothing、IsEmpty還是IsNull心里得有桿秤。下次再遇到詭異的bug不妨先想想是不是哪個“空”在跟你玩捉迷藏。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩狠狠色| 99热国产国产| 五月天综合在线| 激情亭亭五月| 色九九综合| 天天搡日日搡aaaaⅩ| 日本操碰碰| 五月丁香婷婷婷激情爱爱| 狠狠穞A片一區二區三區| 97在线日韩| 午夜电影网VA内射| 人人色性网| 极品少妇高潮啪啪AV无码| 韩国三级五月天婷婷。| 婷婷美女精品视频| 中日韩狠狠色| 热久久999| 午夜天堂啪啪| 成人永久免费视频在线观看| 婷婷五月激情视频| 思思热再线视频| 综合色婷婷| 色婷五月天| 五月丁香A片| 97人人操com| 婷婷久久色| 99r久久这里只有精品| 婷婷五月天成人视频| 色色五月丁香婷婷| 激情av在线| www.色婷婷。com| 黄久久久| 色五月欧美| 国产AV一区二区三区最新精品| 天天爱天天狠天天透| 99 频99热国里只有精品| 99啪在线视频| 色九综合| 久久久精品99| 午夜丁香六月婷| 内射人妻视频国内| 色欲丁香| 色情五月婷婷| 五月丁香黄色视频| 岛国AV网| 婷婷丁香六月| 亚洲熟妇AV乱码在线观看| 99热亚洲精品| 亚洲精品在线视频| 俺去也五月天婷婷| 色婷婷激情| 操熟女成人网| 九一99| 美妞av| 亚洲精品亚洲人成人网| 日韩成人av在线| 在线成人视频免费| 婷婷五月天堂| 九九99视频精品| 色情五月丁香| 色婷婷丁香六月| 91九色视频| 丁香五婷| 伊人91| 超碰精品在线| 91性高潮久久久久久久久| 免费播放片大片| 精品九九网| 久久99免费视屏| 亚洲av另类在线观看| 色色婷婷丁香| 六月婷综合| 日本不卡高字幕在线2019| 色噜噜婷婷| 操骚货在线| www.zbzhongsen.com| 天堂在线9| 色99在线| 99性爱| 天天日天天摸| 五月婷婷色| 五月天色图| 久久丁香五月天| 色婷婷综合网站| 午夜丁香婷婷| 国产精品人成A片一区二区| 天天插天天插| 97爱艹婷婷开心丁香激情综合| 开心色色五月天综合| 欧美A级成人婬片免费看理论| 婷婷五月天A V| 97操碰在线97| 六月99天天婷婷激情综合| 五月丁香六月激情综合网| 欧美激情综合| 夜夜干 夜夜操| 亚洲婷婷五月天| 在线另类视频| yjzz亚洲国产| 一级黄色影片| 亚洲激情97五月天| 特级西西4444www无码| 日韩999| 超碰在线网站9| 殴美97色| 婷婷丁香五月久久| 大香蕉五月婷婷丁香| 五月丁香成年黄色| 亚洲色另类| 激情五月综亚网| 国产精典视频在线观看| 99在线观看精品| 日韩久操婷婷| 五月色婷丁香| 久久精品日| 国产肥白大熟妇BBBB视频| 色五月欧美| 亚洲 视频 导航 一区| 色情播放| 色五月六月婷婷| 五月天激情在线视频| 天天日日夜夜爽| 亚洲精品影视| 日日爱678| 91久久五月天| 成年人夜夜喷水| 成人在线视频一区| 五月天丁香成人社| 丁香久月| 久久精品五月天| 婷婷六月激情综合| 国产精品色婷婷久久久精品| 亚洲AV无码一区二| 99热国内精品| 成人做爰A片免费看网站找不到了| 色色丁香婷婷综合| 99视频超级精品| 99热在线播放| 99热欧| 丁香丁香激情网| www.天天色综合| 国产精品电影| 99色色最新视频| 襙比视频| 五月天婷婷色综合| 超碰人人射| 影音先锋91资源站| 综合激情站| 丁香五月影院| 国产精品99久久久久久久女警| 开心五月激情网| 国产一级片| 操操碰| 久久婷婷五月| 丝雨一区二区| 五月 激情视频| 超碰在线99热| 凹凸7777操操操| 99这里只有精品视频在线| 亚洲精品操一操、噜一噜、摸一摸、爽 | 色情综合| 色插综合网| 欧美69久成人做爰视频| 久久丁香综合精品综合| 99碰网站| 99热国内| 2025色婷婷| 大香蕉伊人爱在线| www.91色| 在线日韩av| www91久久| 丁香九月婷婷综合| 亚洲五月综合色播| 六月色播| 伊人99久久| 五月天婷婷基地综合网| 婷婷婷五月天最新综合你懂的| 久久亚洲激情五码| 99日韩| 99久久超级| 亚洲成人网站在线播放| 亚洲99手机免费看视频| 中文字幕婷婷| 五月色情婷婷| 丁香六月天AV| 免费看成人747474九号视频在线观看| 九九视频在线观看视频6 | 久久受www免费人成| 久久99精品日本| 日韩成人网站精品久久大全| 色五月偷偷| 成人做爰A片免费看视频| 色停停影院五月天| 婷婷六月激情啪啪| 99九色视频在线观看| 国产精品99久久久久久久女警 | 69激情小说| 51国精产品自偷自偷综合| 久久99精品视频| 色婷婷精品| 九九色人| 色射7856五月天激情四射| 综合狠狠伊人| 激情久久肏屄视频| 中文字幕综合色| 日本综合久| 五月激情网综合| 97干在线| 久久久久久97| 色视频五月天| 香蕉网婷婷| 99ri国产在线| 日日撸夜夜操| 五月婷婷黄网站大全| 九九九这里只有精品| 九九热精品6| 激情影院丁香五月| av在线免费播放| 久狠日av| 超碰9799| 国产精品噜噜在线视频| 丁香五月影院| 色婷婷WWW| 五月天另类激情在线| 中文字幕在线免费看线人| 91视频一起草| 成人婷婷| 色婷婷激情| 色色色色色色色色色色色色色色,网站| 婷婷伊人网| 久久激情五月天| 丁香五月天天高清在线| 这里只有精品96| 五月综合视频在线| 激情五月天 婷婷| 日本九九网| 激情五月婷婷色| 欧美成人一区二区三区在线视频| 婷五月丁香俺| 久久精品性爱| 婷婷五月天成人在线视频| 婷婷五月丁香色综合| 开心婷婷五月综合| 久色欧美| 六月 丁香 视频| 成人.在线日韩| 99色色网站| 综合久| 日韩欧美成人片| 色婷婷电影网| 琪琪色影音先锋| 怡红院视频| 婷婷成人av| 亚洲九九99精品视频在线播放| 婷色五月天| 国产婷婷色五月| 伊人五月天在线| 亚洲综合五月天婷婷丁香| 91人操人人人操人| 丁香激情久久| 天天日日夜夜| 亚洲AAA| 少妇出轨做爰高潮A片| 天堂婷婷五月在线| 搡BBBB搡BBB搡五十| 五月婷婷综合激情| 三日本无码| 久久久久久五月天| 九色地址91视频| 婷婷色在线播放| 丁香六月激情四射| 欧美成人精品A片免费一区99| 一起草AV| 天天日天天肏天天奸| 亚州视频九九99| 久久久天堂国产精品女人| 人人干Av| 丁香色五月AV在线| 97人凄人人操人人爽| 大香蕉久久久久| 如何安全看伊人婷婷| 亚洲色啪| 激情网 五月天| 亚洲中文字幕AV在线| 五月天激情网页| 69凹凸成人综合网| 99色在线观看视频| 久草久青福利| 久久精品日| 日韩人妻无码精品| 五月天色婷婷av| 91综合视频丁香| 丁香婷婷基地| 丁香五月1页| www.zbzhongsen.com| 9国产在线视频| 色三级色三级| 青青久久五月| 超碰93在线观看| 婷婷丁香97| 99热这里只有精品268| 五月婷成人网| 婷婷激情图片| www.激情| 欧美色偷拍| 九九色人| 五月丁香六月玩女人| 婷婷丁香五月麻豆| 毛片九九九九九九九九18| 2021日韩无码| 亚洲精品色色| 天天日夜夜帕| 久草五月| 人人干女人| 激情欧美婷婷| 丁香五月天堂网| 午夜丁香婷婷| 久婷首页| 激情婷婷另类| 五月天啪啪| 五月美女婷婷风骚| 亚洲AAA| 色婷婷五月天偷拍| 五月丁香久久| 成人婷99最新| 五月激情久久| 久久九九思思| 丁香五月另类小说在线阅读| 日韩人妻无码精品| 欲求不满的人妻| 99色激| 久久五月天网| 婷婷五月综合免费在线| 啪啪干伊人婷婷| 天天天在线观看| 亚洲V国产V欧美V久久久久久| 欧美三级黄色片久久| 婷婷丁香亚洲五月天| 超碰在线9| 激情婷婷在线| 婷婷色五月亚洲| 久久a热| 亚洲人妻电影| 五月天婷婷成人| 精品夜夜澡人妻无码AV| 九九视频网| 丁香大香蕉| 五月天大香蕉视频| 色婷婷狠狠干芒果TV| 九九伊人网| 精品久色| 99精品综合| 日韩在线观看亚洲| 婷婷色综合av| 日韩无码性爱| 五月天丁香成人社| 狠狠爱婷婷丁香| 中文字幕色色色| 亚洲视频在线观看| 天天日夜夜高潮| 日本丁香五月| 天天插天天插天天操| 大香蕉婷婷久久| 99热日本精品| 色婷婷五月综合| 99热99日天天干| 呦呦视频无码播放| 操逼亚洲天堂| 五月花激情| 五月婷婷丁香五月| 天天干天天做| 爆乳熟妇一区二区三区爆乳照片| 午夜爱爱网站| 日本va欧美va欧美va精品| 武则天精品久久| 婷婷情色五月天| 97热这里精品在线视频| 日本九九九九| 91嫩草国产线观看亚洲一区二区| 狠狠干综合网| 9久久精品视频| 日本色色网站| 色噜噜狠狠色综合AV兰草影视| www.久久爱| 99热99热在线观看| 免费视频1区| 天天天天色天天天天天干| 婷婷色在线| 激情五月天免费视频| 真实的国产乱XXXX在线91| 99视频在线观看视频| 五月婷婷啪啪啪啪| 五月天播播| 99色综合网| 天天色视频| 色色综合日韩| 丁香综合久久| 亚洲亚洲人成综合网络| 婷婷综合在线| 99色综合网| 成人精品视频99在线观看免费| 天天狠狠色综合| 九色porny在线观看激情四射| 丁香婷婷激情六月五月开心| 五月花综合网| 青青草五月天| 欧美槡BBBB槡BBB少妇| 97丁香五月| 插逼综合网| 五月天婷婷色色| 开心五月天激情| 亚洲熟女色| 香蕉综合网| 免费五月婷婷网| 99热99干| 色色九九五月天 | 免费观看全黄做爰的视频| 狠狠撸激情综合丁香五月天俺来啦| 黄色成人AV在线| 激情五月综合| 亚洲综合五月天| 那里有AV网址| 婷婷99丁香| 色婷久九| 五月天啪啪啪| 五月婷婷影视| 97在线精品| 伊人婷婷99热精品| 99re在线播放| 色婷婷大香蕉| 五月丁香六月情| 激情五月天在线观看色婷婷| 婷婷九月激情| 9久热在线精品| 五月花婷婷| 色五月天成人| 蜜桃五月天色| 久久婷婷五月综合色播| 热九九精品| 无码一级片| 99热最新| 天天日天天舔| 五月丁香综合在线| 五月丁香啪啪婷婷| 噜噜狠狠色综无码久久合欧美| 婷婷六月插屄激情| 天天插天天插天天日| 免费亚洲成人电影AV| 免费在线观看AV网站| 亚洲精品成人| 久9视频| 色五月丁香伊人五月| 久热这里只有精品在线观看| 久碰视频| 国产伊人五月天| 色五月婷婷影院| 婷婷综合久久综合| 色色综合网www| 91男同视频| 色婷五月天| 五月婷婷三级| 91大神操美女| 色综合伊人网| 狠狠色婷婷777| 91婷婷在线| 五月天婷婷无码| 五月激情婷婷丁香| 激情五月丁香五月| 色欲一区二区三区精品A片| 日韩久久这里只有精品| 五月天婷基地| 久久96热| 99热在线成人网站| 婷婷五月天精品| AAA亚洲AV| 五月天六月婷| 五月天婷婷丁香基地在线观看| 婷婷丁香五月天中文字幕| 婷婷五月欧美综合| 欧美激情综合色丁香婷婷五月天| 人人人舔人人人操人人人摸人人人97| 涩涩涩.com| 婷婷五月天首页| 久久只有18视频| 综合网视频| 五月丁香婷婷综合视频| 激情第四色| 狠狠爱综合| 欧美婷婷五月丁香| 国产毛片精品一区二区色欲黄A片| 日韩啪啪视频| 99色在线视频观看| 琪琪色五月天| 26uuu国产色| 久久婷五月综合色| tingtingzonghewang| 激情综合网激情五月丁香| 99热这里只有在线| 91日日日| 日本久久激情| 超碰国产av| 久久色情| 天天舔天天摸天天透| 亚洲婷婷五月天| 久操大香蕉| 玖玖色综合| 噢美99| 婷婷久久精品| 欧美丰满熟妇BBB久久久| 天天综合网91| 色偷偷五月天| AV在线收看| 欧美亚洲婷婷五月| 久久思思热| 丁香五月综合久久| 99爱在线视频| 日韩久操婷婷| 五月四色婷婷| 99热8在线| 综合五月亭亭9| 五月色婷婷综合| 久久免费操| 在线观看av网站| 色噜婷婷| 四色AVwww| 99久久66综合| 开心五月婷婷99| 亚洲无AV在线中文字幕| 这里只有精品视频国产| 激情婷婷五月天| 99热超碰| 色婷婷视频在线| 天堂色婷婷| 色五婷婷在线视频| 人人操91| 黄色一级影片| 996er热| 丁香久月婷| 综合色播| 婷婷五月天网址| 开心激情综合| 99热国内精品| 狠狠综合网| 婷婷中文无码| 六月丁香久久| 日日操夜夜爽白洁| 99性爱| 第二色AⅤ| 强辱丰满人妻HD中文字幕| 九九热10| 欧美亚洲色色色色| 丁香五月中文字幕久色| www五月天com| 91丨九色丨熟女丰满| 伊人网啪啪| 久久久久亚洲AV无码网影音先锋| 国产免费一区二区三州老师F1F1| 九九激情综合| 婷婷五月在线综合| Www.sesese丁香| 女力报到正好爱上你| 五月婷护士| 影音先锋777xfplay色资源网站| 狠狠色丁香久久综合婷婷亚洲成人福利| 五月丁香无码| 国内久久久精品99| 影音先锋一区| 激情五月天开心网丁香无码| 婷婷五月欧美综合| 99热无码首页| 97色碰| 亚洲激情网| 欧美激情五月天在线观看| 最近免费中文字幕大全高清大全1| 婷婷五月天婷婷| 色约约视频一区二区三区四区五区| 色五月丁香网| 狠狠色丁香婷婷| 操一区| 人人爱干人人爱草| 色婷婷呢狠禁久禁| 99九九玖玖| 开心婷婷中文字慕| 久久九九激情五月天| 丁香五月婷婷在线观看| 99性爱视频| 国产婷婷五月中文字幕高清| 久久久潮喷-久久久九九-成人AV| 激情AV| 99re思思精品视频在线观看| 综合久久十| 亚洲成人av在线播放| 激情五月天在线观看色婷婷| 色婷婷视频在线| 麻豆AV一区二区三区| 久久九九99亚洲国产久精综合| 婷婷丁香五月天大香蕉| 26uuu精品一区二区| av线电影| 激情视频网址| 丁香六月激情蜜桃| 五月天激情图片网| 婷婷五月综合激情| 九九视频这里是精品五月| 香蕉人妻AV久久久久天天| 91操操操| 天天搞天天色综合| 五月天激情四射| 内射激情在线| 大香蕉久久草| 午夜不卡久久精品无码免费 | 熟女五月天久久综合| 久草婷婷在线| 五月婷婷激情综合av| 日韩色色色色色| 国产做爰视频免费播放| 五月婷婷AV| 99视频在线观看网址| 国产激情视频在线观看| 另类图片 五月激情| 潮汕成人AV片在线| 丁香五月天堂| 久色视频| 日日夜夜青青草| 五月 激情视频| 嫩草AV久久伊人妇女超级A| 婷婷丁香五月亚洲免费| 六月丁香婷婷五月天| 亚洲无码猫咪| 五月婷婷激情| 日韩AAAAAAAAAAA片| 婷婷五月综合婷婷| 亚洲图片 丁香婷婷| 另类视频一区| 欧美丁香六月激情视频| 五月婷婷在线观看黄| 日本精品99| 久久六月婷婷| 免费无码毛片一区二区A片| 人人摸人人摸| 蜜臀av无码久久久久久久久 | 色宗合久久五月婷婷| 九九大香蕉黄色影院| 99re6在线视频精品免费| 人妻久久久久久久 | 国产激情久久久| 婷婷丁香五月色| 无码人妻一区二区三区免费九色| 亚洲AV成人在线| 97se在线视频| 久久婷婷丁香| 五月天婷婷视频小说| 欧美综合丁香网| 五月丁香婷婷在线| 182TV亚洲| 五月丁香色色色| 色99色| 开心激情综合| 91热在线| 国产精品色色| 色五月婷婷影院| 99色免费视频| 激情综合网,婷婷五月天| 99ri在线视频| 久久久久这里都是精品| 色狠狠综合网| 婷婷五月天AV在线| 毛片新网地| 日韩操啪| 欧美三级视频下载| 99精品超在线播放| 狠狠色丁香婷婷五月| 九九爱激情| 羞羞嫩草视频| av婷婷丁香| 69热91天堂| 欧美日本不卡黄色片| 少妇性BBB搡BBB爽爽爽视頻| 乱岳熟女50岁| 玖玖婷婷免费| 亚洲第一成人AV| 大香蕉福利导航| 啪啪操网| 东北黄色一级| 91九色 婷婷| 五月天偷拍| 激情五月六月婷婷| 婷婷五月天综合在线| 狠狠干五月天| 91超级碰在线视频| yellow视频在线观看91| 亚洲综合婷婷| 国产乱妇乱子在线播视频播放网站| 亚洲天堂久久| 精品无码久久久久久久久| 啪啪啪大香蕉| 超碰人人摸人人操| 久久久宗合视频88| 色碰97| 伊人色五月| 激情涩播| 丁香婷婷色九月| 色婷婷综合久久久久| 色婷婷小说| 99色1| 色五月第四色| 欧美啪啪9| 99碰碰| 这里只有精品96| 任我肏视频精品| 久久9热综合| 人妻久热| 色五月成人网| 超碰在线超碰| 久久婷婷综合五月天| 99热这里只有精品9| 国产午夜成人免费看片无遮挡| 日本久久色| AAA久久久| 插插插色综合网| 开心亚洲久久开心| 五月婷婷,狠狠操| 天天干,夜夜爽| 99精品成人无码A片观看金桔| 狠狠婷婷综合| 97人人看| 久久丁香久久| 五月天婷婷色色| 国产毛片精品一区二区色欲黄A片| 日韩精品电影| 99久久国产宗和精品1上映| 国产色99| 少妇水多A片太爽了| 婷婷日本色| 他改变了拜占庭| 思思久久精品| 欧美韩国日本| 97色在线观看视频| 色婷视频| 六月丁香网| 色婷婷色综合激情91| 五月丁香六月婷婷综合免| 亚洲中文乱字字幕在线永久| 丁香久久| www.99热| 九九精品免费| 深爱激情综合| 久久五月网| www。88热在线视频免费观看| 直接看的av| 色婷婷激情五月天丁香| 丁香六月婷婷综情欧美| 日韩aaa| 超碰操日| 乱女乱妇熟女熟妇综合网站| 91超级碰在线| 色久99| 天天干天天操天天干天天操天天干天天操| 色色色色色色色色五月先| 超碰伊人碰婷婷五月| 婷婷五月天伊人网在线观看视频| 97操操操| 久99视频在线观看| 色久丁香五| 桃色五月天| 丁香婷婷五月综合色情| 极骚大香蕉伊人| 天天成人综合| 天天操夜夜操| 亚洲色啪| 久久综合激情| 六月婷久久| 99视频精品全部观看10| 六月综合婷婷开心伊人| 欧美3AaAa大片| 九月婷婷久久| 五月丁香| 成人网站在线观看视频| 91ncm视频| 丰满人妻一区二区三区| 激情骚五月| 开心激情综合| 美国不卡视频| 国产密乳av一区二区三区四区| 极品少妇婷婷五月| 人妻久久久久久久久久久| 69久久久| 免费不卡狠操美女视频网| 九九九九九九九九九九九九九九九九九九九在线视频 | 色欲日日躁| 婷婷99综合| 五月丁香色婷婷基地| 天天爱天天操| 亚洲六月婷| 大香蕉五月婷婷丁香| 色六月丁香婷婷啪啪啪| 影音先锋女人AA鲁色资源| 99爱这里只有精品| 综合色五月亭亭| 亚洲久久婷婷丁香五月天| 欧美性生交XXXXX无码小说| 天天拍久久| www.丁香黄色五月天人与| 一本综合丁香日日狠狠色| AV网在线观看| 色色色网站| 伊人99热| 日本精品久久久久中文字幕| 六月天无码网址| 成片免费观看大全| 丁香六月婷| 超碰9在| 丁香五月在线观看| 六月婷五月丁香| 国产探花一片区| 丁香婷婷九月| 色99在线| 久久五月婷综合| 激情丁香五月天图片| 另类专区在线| 内射爽无广熟女亚洲| 天天射天天射一道本日本社区| 成人片在线免费看| 九九久久五月天| 深爱激情网五月| 美女被肏网站在线看| 狠狠干综合| 夜夜天天久久婷婷| 中文成人在线| 这里只有精品视频99| 五月丁香六月情亚洲| 日韩国产在线免费观看| 中文字幕丰满孑伦无码专区| 五月婷婷六月丁香色| 九洲一级A片| 亚洲视频色色| 任你搞免费视频观看| 婷婷成人五月天成人文学| 少妇高潮一区二区三区99欧美| 96精品成人无码A片观看金桔| 超碰人人干| 精品国产va久久久久| 91狼友视频在线观看| 久久久久人妻网址| 亚洲激情.com| 另类图片五月天婷婷| 成人短视频免费| 五月天激情图片| 天天综合网站| 五月婷婷六月丁香激情综合网| 丁香五月婷婷天堂大香蕉| 五月婷婷激情| www.色五月| 五月丁香网av| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 99日精品视频| 伊人久久五月天| 伊人啪啪网| 丁香五月网络网络| 日韩不卡DvD| 九九99精品视品| 91玖玖| 这里只有精品视频在线看| av在线免费播放| 十区av| 黄色国久久| 丁香桃色网| 婷婷激情啪啪| 亚洲激情免费久久| 思思热天天看| 99日精品视频| 婷婷丁香视频| 超碰免费人人肏| 97人人射| 99热超碰在线| 日韩久久视频| 大香蕉五月婷婷| 丁香五月六月综合激情| 快乐激情五月色婷婷| 色色色综合色| 五月天丁香综合在线| 欧美三级大片AA在线看| 国产人妻777人伦精品HD| 99热老网站| 日韩在线观看亚洲| 久久婷婷综合五月天| 热思思| 婷婷五月天成人影片| 亚洲婷婷婷| 婷婷狠狠久久| 深爱 五月天| 操操操av| 色综合色综合婷婷热| 亚洲综合激情五月天婷婷| 91人人操人人爱| 色综合久久综合中文综合网| 五月婷婷久久久久| 激情综合婷婷久久| 第四色网婷婷| 一本色道久久综合狠狠躁小说| 丁香五月综合首页| www.99热这里精品| 在线看av| 五月丁香在线看| 玖玖资源站蜜臀| 五月天婷婷视频| 热99AV网站| 色综合五月| 这里只有精品久久| 色婷婷偷拍| 第四色激情网| 色日本五月天| wwwss在线观看| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 97干在线看| 丁香婷婷超碰 | 久久草中文日韩欧美| 六月撸婷婷| 丁香五月综合婷婷| 五月天婷婷久久视频| 国产毛片欧美毛片久久久| 99精品视频在线观看| 亚洲精品V天堂中文字幕| 久久丁香婷| 亚洲四色五月| 91蜜桃婷婷狠狠久久综合9色| 好好干Av| 丁香六月婷婷姐网| 天天插天天爽| 婷婷五月综合激情| 中文字幕无码AV| 婷婷九月丁香中文| 亚洲午夜视频| 夜夜骑操AV| 激情五月开心五月丁香五月| 婷婷五月天综合AV| 99色色| 爱超碰性| 麻豆AV一区二区三区| 大香久久伊人网| 激情五月综合网最新| 激情五月丁香在线观看直播| 丁香六月色婷婷| 欧美在线干| 99精品成人无码A片观看金桔| 久久ri精品视频| 99自拍视频网站| www.91色| 思思国产99| 九九色影院| 色婷婷精品视频在线播放| 香焦网五月天| 婷婷五月天性| 亚洲性爱电影| 亚洲激情四谢| 九月激情综合| 五月丁香六月婷婷视频| 亚洲精品国产成人AV在线| 亚洲亚洲人成综合网络| 色情五月天丁香社区| 久久久er热| 91丁香五月| 99热在线观看| 婷婷激情五月| 久久人妻www| 激情色色| 丁香五月婷婷Av| 色99综合视频| 婷婷五月电影院| 国产成人综合亚洲| 亚洲va国产va天堂va综合va| 99操逼| 色婷婷瘦婷婷日韩| 日本色婷婷久久99精品91| 99玖玖免费视频| 亚洲无码影音| 色情丁香五月天| www99在线观看视频| Caoub青青超碰 | 狠狠干婷婷| 中文字幕日产A片在线看| 日韩影院三级| 天天爽综合网| 亚洲AV在线免费看| 热99这里只是精品| 六月婷婷色色色| 182.t午在线观看| 激情五月综合色婷婷| 六月婷婷激情图片| 久久99激情| 精品久久66| 婷婷六久久| 激情的五月| 亚洲五月天另类小说图片| 久99久视频精品| 丁香婷最新动态| 日本三级韩三级99久久| 操操熟女| 色五月婷婷在线观看| 黄色热99| 翔田千里无码| 久热久| 婷婷色五月婷婷姐妹| 99精品久久久| 婷婷五月AV| 激情五月天视频| 小泽玛利亚视频一区二区| 2025年最新亚洲在线欧美| 五月丁香亭亭电影久久| 精品国产va久久久久久久| 天天拍天天操| 2014天天爽| 九九热re99re6在线精品| 国产资源在线视频| 欧美五月丁香| 六月婷基地| www.婷婷五月| 五月天丁香成人社| 婷婷久久精品| 中文字幕婷婷| 亚洲av免费在线| 亚洲精品色色| 99精品视频在线观看| 日韩一66精品| 人妻AV中文系列| 久久九九在线视频| 美女被操一区二区| 五月婷婷五月天在线| 久久网婷婷| AV在线大香蕉| 五月婷婷啪啪| 少妇高潮呻吟A片免费看软件| 九九热只有精品6| 色色色五月天婷婷| 这里只有精品视频在线看| 五月丁香久久激情综合| 色婷婷久综合久久一本国产AV| 亚洲精品成人片在线播| 五月精品| 五月婷婷在线视频免费观看| 99综合| 婷婷丁香综合成人| 噜噜五月天综合| 996er热| 色色综合色视频| 色婷婷五月综合激情中文字幕| 丁香五月六月激情| 日本久草福利| 九九激情网| 九九视频热| 五月婷婷久久爱| 九九99九九99九九99视频网| 欧美日韩91| 丁香五月激情久久麻豆| 大大香蕉综合在线| 思思精品视频| 色色色国产| 久久五月天激情| 五月丁香天堂网| 怡红院 久久| 国产AV一区二区三区最新精品| 综合网视频| 亚洲精品影视| 久久五月婷综合| 亚洲人人操BD| 91操熟女| 日本丁香五月| 天天色天天爱天天爱天天爱y| 碰碰操91| 婷婷久久五月| 精品人妻一区| 婷婷五月天伊人在线| 六月婷婷最新网址| 丁香久久| 99精品免费欧美小视频 | 超碰99在线观看| 亚洲激情精品| 婷婷在线观看五月天在线视频| www.色五月| 色一情一乱一乱一区91Av| 婷婷五月天亚洲激情戏精品| 亚洲免费观看高清完整版AV线| 99热91| 亚洲无码色| 亚洲丁香五月深爱五月| 97人人操在线| 色欲AVV| 丁香五月综合| 亚洲色优| 精久久色| 久久五月婷| 影音先锋天天日| 天天色视频| 色欲婷婷五月天丁香| 永久地址 色| 9.1综合网| 五月丁香久久呀| 九色在线五月婷婷网址| 女人天堂AV| 99热99极品观看| 久久婷婷综合五月趴| 日韩色色色99| 一本久道综合99| 国产97在线日韩亚洲女人被黑人巨大| 五月丁香五月综合欧美| 色偷偷五月天| 天天综合社区| 6月丁香婷婷| 香蕉大综综综合久久| 亚洲不卡123| 亚洲国产精品SUV| 日本色婷婷| 色色免费网站| 99九九在线观看免费| 丁香五月六月婷婷怡红院| 狠狠操狠狠狠| 六月色日韩| 国产精品大香蕉| 色综合丁香| 亚洲有码在线视频| 久草五月婷| 182tv992tv人之初午夜免费观看| 国精产品一区一区三区免费视频| 亚洲天堂爱爱| 久久停停超碰| 97操碰在线视频| 超碰资源在线| 99色色网| 五月婷婷亚洲| 五月婷婷六月丁香在线视频免费在线观看| 天天日夜夜草进麻麻的子宫| 精品网站:999WWW| 9久热在线精品| 9999综合99综合人| 91综合视频丁香| 激情6月| 热思思九九| 久久视9精| seav天堂| 激情国产五月| αV电影| 日韩久久日| 久久综合五月| 伊人久热91| 色噜噜狠狠色综合成人网| 看全色黄大色大片| 久久久久久9| AV伊人青草丁香六月| 成人日韩欧美| 丁香婷婷偷拍| 激情合网婷婷| 九九视频这里只有精彩| 日日插日日干| 欧美色色色色色色| 99在线热| 性爱综合网| 五月天激情国产综合婷婷婷| 亚洲高清在线| 91黄色五月天视频| 校花娇喘呻吟校长陈若雪视频| 国模九区| 激情爱爱网站超大免费| 久天综合| 这里只有在线精品| 天天拍夜夜爽| 丁香六月激情综合| 99这里只有精| 99热这里有精品| 人人操操97| 色激情五月| 色情五月丁香婷婷网| 狠狠婷婷爱| 99日这里只有精品| 欧美日韩成人在线网| 99热最新| 夜夜嗨一区二区三区直播内容 | 五月天激情社区| 天天做天天爱天天爽综合网| 大香蕉久久久久| 激情五月天小说网| 海外网站专业操老外| 色五月色图| 中文激情网| 深爱激情四射| 草综合14| 啪啪啪大香蕉| 久久婷婷五月综合色区| 亚洲综合色网| 久操人| 丁香色五月直播| 久久九九99字幕| 大香蕉久久久| 久久XX| 大香蕉久久婷婷精品综合| 丁香六月婷婷综合激情欧美| 这里只有精品99www| 碰97久久| 成人无码髙潮喷水A片| 五月天婷婷激情网| 欧美美女国产日韩一区二区久| 丁香五月婷婷俺也要去| 久操操| www天堂99| 婷婷综合| 亚洲五月天激情| 色色色综合网| 五月天婷婷网站888| 久热2025无码| 在线视频另类| 激情五月天色色色| 婷婷丁香77777| 久久免费操| 婷婷五月天色色| 成人婷婷| 99在线精品视频免费观看20| 婷婷色网| 9久久精品视频| 丁香婷婷欧美综合| 丁香五月天视频| 丁香五月之久操视频| 99亚洲视频| 国产精品热搜丁香五月婷婷| 色墦五月丁香| 99精品国产在热久久婷婷| 日日激情网| 婷婷中文字幕| 超碰精品国产首页| 天堂AV在线看| 另类激情综合| 五月丁香激情四射| 亚洲va在线∨a天堂va欧美va| 五月丁香综合激情| 激情欧美婷婷| 五月婷婷AV| 久久九九re热| 黄色AAAAA| 婷婷六月丁| 91干视频| 99久久婷婷五月综合| 99婷五月| 色综合久久88色综合中文字幕| 五月综合视频| 91色综合网| 婷婷综合亚洲| 99亚洲精品视频| 丁香五月综合在线观看| 国内自拍1区| 激情AV| 99热99久久| 97在线/亚洲| 五月综合激情视频在线| 成人片在线免费看| 五月开心激情| 黄色av网站在线免费播放| 久久九九99亚洲国产久精综合| 亚洲最大成人综合网720P| 色婷婷视频| 99热综合| 亚洲激情 久久| 深爱激情五月网| 六月婷婷深深爱| 亚洲乱码精品久久久久..| 99视频色在线观看| 亚洲成人在线播放| 五月久久噜噜| 内射人妻视频国内|