免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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碰在线视频| 丁香五月黄色| 超碰人人干| 欧美天堂久久| 九月丁香久久网| 夜夜操天天干| www.色窝| 久久九色| 日本久久人| 天天色色天天| 激情图片婷婷丁香五月| 日韩精品色| 草榴视频黄色网| 99热免费精品| 4399在线日本A片| 99∨VTV| 夜丁香五月婷婷| 色欲天天综合网| 99热色精品| 丁香五月人妻| 俺去也在线www色官网| 亚洲天堂啪啪| 丁香五月婷婷色综合| 在线理论片| 国产伦亲子伦亲子视频观看| 99啪啪视频| 五月丁香六月婷婷免费| 丁香五月色| 伊人五月婷| 99热亚洲| 五月天综合在线| 精品久9| 婷婷五月激情图片| 天天干天天色综合| 激情综合五月婷婷六月丁香| 婷婷娱乐丁香综合网| 中文字幕在线资源| 伊人9在线| 国产午夜成人AV在线播放| 激情六月色| 激情综合亚洲色婷婷五月| 婷婷五月综合社区| 成人电影在线免费试看| 色婷婷a v| 九月婷婷综合色干| 欧美久久久中文字幕| 99精品网| 99热久久这里只有精品| 桃色成人网| 九九黄色网| 丁香六月综合激情| 色婷婷www| 九九成年视频| www.97干视频| www,久久久| 久99久99精品免| 久久婷婷色| 色色激情网| 思思热精品在线视频| 97韩国久久电影院| 九九99久久| 亚洲精品激情| 99热成人在线观看| 天天干一干| 97涩涩丁香五月天| 天天综合网网欲色| 激情五月婷婷开心网| 五月综合色播播丁香婷婷| 婷婷五月俺要去| 99亚洲综合| 国产激情久久久| 99精品免费| 欧美这里只有精品| 狠狠精品干练久久久无码中文字幕| 丁香五月天视频| 泰州成人视频| 久久99草五月婷婷| 丁香五月影视| 色色色在线播放| 亚洲色婷婷网站| 精品九九视频在线观看| 夜夜躁爽日日| 啊v视频在线观看| 99热国产| 高清a片基地| 久久丁香婷| 在线视频九色97| 色九九中文字幕| 色五月综合资源推荐| 国产偷人妻精品一区| 这里只有国产精品在线| 九月婷婷色色| 天天干人人奸97| 国内自拍1区| 婷婷五月六月| 激情文学天天| 伊人五月天| 九九香蕉网| 亚洲激情av| 99在线视频观看| 婷婷综合在线播放| 六月丁香综合999| 五月丁香在线看| 99热这里都是精品| 人妻第九页| 欧美色图片88| 无码区婷婷五月花开| 亚洲精品V天堂中文字幕| 青柠影视免费高清电视剧| 99爱在线| 91艹人| 亚洲欧美999| 99热99精品| 色五月丁香五月| 91夫妻网站九色| www.五月天色色色| 综合伊人狠狠| 五月天综合网| 色综合丁香| 伊人婷婷激情| 婷婷色六月| 91人妻人人操| 色99综合视频| 9久热精品在线视频| 97人妻碰碰碰久久| rr天天操| 深爱五月天| 六月天婷婷| av五月丁香| 久久九区| 丁香五月欧美色综合| 色噜噜婷婷| 激情婷婷九月| 真实亲子乱子伦高清在线观看| 思思热视频在线| 潮汕成人AV片在线| 色婷婷丁香香香蕉视频| 久久综合66| AV色五月婷婷| 激情五月天婷婷| 99ri视频在线播放| 婷婷在线播放| 色五月大香蕉婷婷| 另类激情综合| 六月婷婷激情| 国产综合色婷婷精品久久| 天天射天天射一道本日本社区 | av网址在线播放| 亚洲 视频 导航 一区| 欧美久久婷婷| 大香蕉久久青青| 婷婷激情中文综合| 成片免费播放| 色婷婷4| 久草天堂| 婷婷色婷婷| 亚洲aV写真天天综合网久久| 人妻免费网站| 久久婷婷五月免费视频| 天堂综合久久| 五月丁香久久久久| 涩五月婷婷| www.91在线观看| 99热精品观看| 日本在线wwww| 色五月偷偷| 91九色无码内射| 五月天停停基地| 久草婷婷网 | 天天色综合色色色色色。| 任你操精品免费| 日本高清不卡免费一区二区三区| 激情五月开心五月丁香五月| 久久9热| 9久热在线视频精品| www久久久久久久97| 狠狠狠狠狠| 丁香99| 综合久久影院| 777精品久无码人妻蜜桃| 色热久资源| 大香蕉综合在线| www.yw尤物| 99视频35精品视频在线观看| 久热91| 天天色爽| 国产免费一区二区三州老师F1F1……| 中文字幕在线播放视频| 婷婷五月天xxx| 欧美电影在线播放| 成人va视频| 伊人五月综合网| 亚洲无码另类| 天天摸天天高潮天天爽| 久久九九中文字幕| 精品夜夜澡人妻无码AV| 无人精品在线视频| 欧美五月丁香啪啪响视频| 日本乱子人伦在线视频| 成人av在线网址| 激情美女五月天| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99热久久日本| 色五月av| 五月婷婷综合久久| 夜夜操狠狠操天天操| 二区成人视频| 国产毛片精品一区二区色欲黄A片| 久久激情网| 中文字幕无码人妻少妇免费视频| 日本色五月| 久久婷婷色情7777网站| 五月婷性爱| 97色天堂| 五月综合色播播丁香婷婷| 成人AV中文字幕| 九九成人视频| 大天天伊人| 五月综合视频在线| 丁香六月| 色婷婷玖玖影院| 色色性爱视频| 久久婷婷综合国产| 开心五月天激情网站| 人人操人人干AV| 精品国产乱码久久久久夜深人妻| 99热日韩| 人人操插| 久久九九爽| 丁香婷婷激情网站| 婷婷五月久久| 色婷婷丁香五月高清在线| 亚洲99在线| 丁香99| 五月婷婷综合网| 激情久久久久久久久久久| 深爱激情av| 狠色狠色狠狠色综合网| 五月丁香综合啪啪啪啪啪| 亚洲成人av在线播放| 九月婷婷在线视频| 国成人网| 亚洲精品444久久久久久| 99热久久这里只有精品| 91打屁股免费看| 丰满人妻一区二区三区| 亚洲V国产V欧美V久久久久久| 99re思思热久久| 激情综合网激情五月天| 日韩一级片| 久久伦乱| 婷婷爱五月天| 日本人妻伦在线中文字幕 | 婷婷五月天色丁香| 日本的α片xxxwww| 久久五月天黄色五月天色网址| 色色色欧美| 五月丁香免费视频| 丁香激情五月综合网| 亚洲五月天色| 五月天婷婷久久综合| 综合狠狠干| oumeisesewang| 婷丁五月| 激情激情激情网| 这里只有精品99www| 婷婷五月天六月综合| 色天天狠狠干| 亚洲操B| 操一操干一干| 五月丁香婷婷综合网| 五月丁香狠狠爱| 99热成人| 久热精品9999| 超碰成人电影| 99精品爱| 国产91视频| 99热这里只有精品9| 色色色网站| 丁香六月激情| 激情婷婷黄色五月| 婷婷激情伍月网| 五月视频日本免费观看| 综合网激情| 内射综合网| 五月丁香六月婷| 久久精品A片777777| 婷婷不卡基地| 中文字幕永久免费| 丁香五月综合网亚洲综合欧美狠狠| 丁香婷婷成人网| 五月婷婷天堂| 九久久婷婷| 狠狠99| 久久最新色色色| 亚洲人妻一区二区| 色香欲综合| 九九色网专区| 最新日本A片| 久久久人妻系列| 五月停停999| 免费观看18视频网站| 五月丁香另类网| 另类精品视频在线观看| 亚州性爱99| 久久五月天色婷婷| 欧美A A A A A| 婷婷射丁香| 欧美综合在线五月天色婷婷| 97啪啪| 婷婷综合中文字幕| site:hcxsz888.com| 色色免费网战视频| 免看黄大片AA | 欧美性久| 五月丁香婷婷三级| 国产人妻777人伦精品HD| 色综合香蕉视频| 情情五月天色| 九九热在线精品视频| 久久六月综合| 久久A V无码视频| 深爱激情丁香| 久久色天堂| 99r这里| 99久久网站| 综合网啪| 99精品视频网| 亚洲天堂九九九| 午夜美女人啪最红院| h亚洲| 五月丁香亭亭电影久久| 五月婷婷成人w| 五月丁香啪啪| 99热99色| 国产日比| 丁香久久| 91九色首页| 黄色99热| 舔色婷婷| 日韩久操婷婷| 五月天婷婷在线AN| 97偷拍在线视频| 亚洲第精品| 婷婷六月天| 久久综合丁香| 五月天婷婷久久| 99热插| 色婷婷丁香五月| 国产91在线视频| 呦呦v线| 国产激情视频在线观看| 五月欧美色播| 亚洲成人免费在线| 五月婷婷黄色视频| 婷婷9月天| 五月丁香婷庭在线| 91VIP在线观看| 久久99成人性爱高清视频| 又大又粗九一在线| 黄色AAAAA| Av在线不卡一区| 思思久久99热只有频精品66| 久久伊人婷| 亚洲激情五月| 色综合久久天天综合网| 99综合免费视频| 丁香五月婷婷综合视频| 五月丁香在线看| 欧美成人精品A片免费一区99| 久久婷婷青草五月天| 婷婷操逼| 久久亚洲色导航| 亚洲无AV在线中文字幕| 婷婷五月天堂一本在线| 狠狠色丁香久久| 99热碰碰热| 99热最新网址| se色婷婷视频| 综合狠狠干| 中美日韩成人在线| 亚洲超碰在线| 久热网在线视频| 五月五月婷婷| 99视频自拍| 热99视频| 激情五月天啪啪| 99综合视频一体| 亚洲 日韩色色| 欧美黄色一级录像| 99色热视频| 天天综合亚洲综合网天天αⅴ| 欧美色综合天天久久综合精品| 超碰av在线| 日本色婷婷综合| 九月婷婷在线视频| 91色在线/日韩| 五月天开心成人网| 操比激情五月综合| 538在线精品| 狠狠色综合精品视频在线| 99在线视频免费| 人人干av| 激情五月,色播五月| 色综合网址| 青草视频在线播放| 久久在这里99| 亚洲性爱区无码区| 五月丁香六月久久| 婷婷丁香五月天熟女丝袜| www.操.com| 26uuu另类| 九九婷婷综合| 碰久久精品w| 丁香六月综合激情| 五月天婷婷乱论小说| 日本女天天爽| WWW色色色COm| 丁香花婷婷五月天| 激情综合色婷婷啪啪五月天| 五月激情婷婷在线| 在线视频激情网站| 色五月色五天色情网| 丁香五月天黄色片| www,色综合| 无码激情AAAAA片-区区| 天天婷婷综合亚洲亚洲| 五月丁香好婷婷A片网| 这里只有国产精品在线| 久思思热视频在线观看| 亚洲AV综合网| 啪啪操操| 丁香熟女乱| 专区无日本视频高清8| 丁香色综合| 久久丁香五月婷| 色五月婷婷丁香国产在线| 99激情| 五月婷综合| 欧洲日韩一区二区三区| 77799热| 色人久久| 激情五月天色色网| 最新色色五月天| CAoub青青超碰| 99热草草| 人人操9| 538在线精品| 色色热| 婷婷久月| 91久久久久久| 婷婷导航| 激情99| 色色婷婷丁香| 亚洲操b| 新97人人上人人| 伊人五月综合网| 丁香六月成人| 99热精品在线| 婷婷99狠狠躁天天| 日韩无码色色| 精品夜夜澡人妻无码AV| 99久久九九视频| 噼里啪啦完整版中文在线观看| 激情综合婷婷| 精品无码久久久久久久久| 好好干av| 亚洲99视频| 能看的av片| 26uuu欧美亚洲日韩| 五月天色综合服务平台| 九九久久视频| 久久五月天综合| www五月天com| 色五月激情| 亚洲天堂热| 天天干天天操天天拍| site:pnnrt.com| 五月天婷婷久久| 国产精品久久久久久久久久| 人碰人人人玩91| 97男人天堂| 91岛国片| 五月丁香婷婷福利| 国产精品视频久久99| 丁香五月婷婷激情蜜桃| 五月丁香激情四射| 九九热最新| 男女啪啪做爰高潮无遮挡| 免费色婷婷| 日本3级片一区2区| 欧美日韩大黄| 激情文学五月丁香六月婷婷| 五月丁香999| 五月婷婷激情69| 精品亚洲VA网站| 涩综合网| 欧美A级成人婬片免费看理论| 99久久久精品| 久久这里只精品66| 天天日天天干天天天| 日本久久精品18| 亚洲色久| 婷婷欧美激情| 色五月丁香激情| 狠狠做深爱婷婷久久综合一区| 99热综合在线| 婷婷色五月大香蕉在线| 欧洲不卡视频| 激情婷婷色五月| 久久97| 婷婷五月日本| 日本五月婷婷久久久六月丁香| 色五狠狠| 无码人妻少妇色欲AV一区二区| 99在线免费视频播放| 久热大香蕉| 九九机热| 亚洲精品亚洲人成人网| 亚州综合色| 五月花婷婷在线精品视频| 婷婷激情五月视频| 婷婷五月天手机版视频| www久久久| 久久月天堂| 激情五月天啪啪视频| 五月天婷婷综合免费| 欧美肉大捧一进一出免费视频| 色天堂操| 亚洲最大五月天成人网| 无码少妇高潮喷水A片免费| 亚洲情色一区| 思思久久精品| 亚洲色激情| 9999久久久久| 成片免费播放| 思思热在线精品视频| 国产亚洲色婷婷久久99精品91| 婷婷99丁香| 五月丁香激情在线| 国自产拍偷拍精品啪啪一区二区| 色婷婷小说| 色婷婷五月天在线观看| 超碰A V在线| 激情网站综合五月天| 成人片在线播放| 五月丁香久久色| 天天综合网亚洲综合网| 久久一级AV| 婷婷五月成人色综合| 五月天婷婷AV| 在线观看亚洲AV| 久久免费视频62| 婷婷五月骚厕所| 9久热| 中文字幕永久在线| 丁香六月婷婷| 九月婷婷综合| 久久这里只有精品热在99| 91无码视频| 五月婷婷色播| 五月 成人 婷婷| 亚洲va成人va成人va在线观看| 五月色亭丁香| 色五月欧美| 久久一级免费黄色片| 婷婷十月激情综合网| 超碰2021| 婷婷五月天高清无码| 日韩aⅴ视频| 99免费视频在线观看爱| 亚洲免费电影2| 五月丁香六月综合激情无码软件亮点| 91日综合欧美| 婷婷97碰碰| 色综合综合色| 激情五月婷| 伊人成人宗合网| 久久这里只有欧美| 91日本在线免费| 天天干天干| 色综合偷拍| 亚洲熟妇无码乱子AV电影| 小泽玛利亚视频一区二区| 99热思思| 一级片sese片.COM| 国产AV一区二区三区日韩| 青青草蜜臀| 97大香蕉五月天| 中文在线视频久1| 99热费观看| 久久九色| 亚洲精品久久久久久久久久吃药| 丁香婷婷五月人体| 1024人妻| 亚洲精品性色| 成人午夜免费电影| 九月婷婷综合| 91精品综合久久久久久五月丁香 | 涩涩五月天| m色激情网| 亚洲狠狠婷婷| 99无码精品| 日日狠狠久久偷偷四色综合免费 | 成人无码髙潮喷水A片| 99视频这里只有久久精品| yazhochengrenavwang| 婷婷五月天色色| 五月婷婷五月天天| 亚洲色夜| 色香蕉精品五夜婷| 超碰九九热| 六月香五月婷| av网址在线| 久久这里只有精品8| 综合色99| 涩婷婷视频快播人妻| 99热自拍| 亚洲欧美一区二区三区爱爱动图| 丁香婷婷六月激情文学| 97亚洲精品| 五月色丁香| 99九九精品| 欧美噜噜免费观看| 五月久久网| yazhoujiqingav| 国产操碰| 婷婷成人五月天成人文学小说| 婷婷和五月天| 九月婷婷综合网| 国产AV一区二区三区最新精品| 婷婷色操| 四色AVwww| 国产五月丁香在线| 超碰色综合| 极品嫩草| 天天射天天插天天干| 丁香六月婷婷久久综合| 婷婷丁香人妻天天爽| 五月熟妇婷婷久久| 99er这里只有精品视频| 91人人操人人看| 五月婷婷丁香日韩在线| 狠狠综合| 久久99网| 亚洲成人一区| 国产成人AV在线播放 | 天天天天操| 狠狠干青青草| 五月婷婷播| 亚洲激情网| 97日在线视频| www.色9| 色色色色五月| 婷婷五月18永久免费视频| 久久香蕉婷婷五月天| 99久久精| 五月丁香久久| 色综合色| 五月天婷婷xxx| 色噜噜夜夜夜综合网| 日韩伊人大香蕉| 91精品刘玥| 超碰只有精品在线| 欧美三9久九观看| 人妻少妇色综合| 狠狠色噜噜狠狠狠狠综合| 97碰| 大香蕉五月天| 91丨九色丨东北熟女| 九色91国产| 久9久9久9久9久9久9| 色婷婷激情四射视频| 五月丁香中文| 激情无码网| 亚洲成人超碰| 色玖玖| 色婷婷六月| 色婷婷电影| 极品人妻XXXXOOOO| 性爱激情综合网| 五月天综合在线观看| 丁香五月无码| 婷婷色导航| 丁香久久五月婷综合| 久久总和99| 久99久视频| 人人播| 婷婷五月天影院| 国产精产国品一二三在观看| www九九免费视频| 丁香花综合永久入口| 久草婷婷视频| 欧美 日韩 成人在线| 俺来也综合网精品一区| 天天干-天天日| 狠狠五月综合在线| 91色逼| 可以直接看的av| 亚洲国产无线乱码在线观看| 婷婷伊人综合| 96精品久久久久久久久| 国产永久一二一起草| site:feetmall.com| 99久久五月婷婷| AV电影在线播放| 狠狠精品干练久久久无码中文字幕| 国产,欧美,学生妹,视频| 国产探花一片区| 久久作爱| 丁香伊人五月色婷婷五十路| 久婷久婷| 五月婷久久| 国产激情综合五月久久| 丁香五月手机在线| 啪啪操网| 色欲人妻综合aaaaaaaa网| 亚洲激情区| 婷婷内射视频在线| 色综合五月天| 婷婷九月在线| 6月丁香婷婷激情| 伊人在线视频| 国产亚洲精品AAAA片APP| 人碰91| 亚洲精品操一操、噜一噜、摸一摸、爽| 久热播这里只有精品| 九九99免费视频| 香蕉久久五月| 3pAV| 人妻激情在线| 91久久久久| 久久之人妻| www.minyis.com【JT】实力收量可预付QQ2101460746 | 九月丁香八月婷婷加勒比| 超级碰碰碰碰视频| 五月婷婷丁香五月婷婷| 综合激情视频| 狠狠99| 思思久久青草热| 开心激情网五月天| 色婷久| 丁香网五月网| 九九久久99| 色综合中文色综合网| 国色天香伊人狠狠色| 亚洲国产99| 琪琪色热色色| 激情欧美五月丁香| 色婷婷在线电影| 人妻狠狠操| 99精品一二三四视频| AV性爱在线| 九色在线五月婷婷网址| 日本va欧美va精品发布视频| 五月天大香蕉| 99碰网站| 五月激情在线| 玖玖玖婷婷婷| 五月激情网络| 成人在线二区| 五月丁香啪啪啪啪| 精品一二三区久久AAA片| 婷香五月| 99热婷婷| 亚洲av网站在线观看| 五月天婷婷色| 日韩美女羞羞网站在线观看| 婷婷综合五月天亚洲综合| 色婷婷成人色网| 79成人网| 九九99精品免费播放| wwwxxx五月婷婷小说| 成人精品一区日本无码网| 婷婷丁香视频在线观看免费| 亚洲激情婷婷| 天天五月香欧美| 日本欧美成人片AAAA| 综合久久婷婷| 色五月婷婷基地| 五月婷婷色播视频| 97福利视频| 99精品这里只有免费视频| 久热91| ,99视频久久| 久久99国产综合精品免费| 97涩涩丁香五月天| 丁香伍月婷电影全集| 五月丁香六月婷婷婷婷| WWW久久99久久99久久| 丁香六月情| 涩涩婷婷五月| 九九热九九| 人人亚洲| 日韩色色色色| 色婷婷五月中文字幕在线dvd| 九九99九九精品视频| 婷婷淫淫狠狠六月| 伊人久久婷婷| 天天做天天爱天天爽在| 色婷青青| 精品久久人妻| 五月丁香婷婷中文| 亚洲激情网| 插少妇综合网| 精品一区二区三区三区| 99自拍视频网站| 亚洲国产精品成人免费一区久久久在线观看AAAA | 激情九月丁香婷婷| 婷婷五月丁香五月综合网| 庭庭久久内射| 六月色婷婷| 五月婷婷网五月在线| 国产精品国产| 国产超碰在线| 五月丁香六月婷婷综合| 丁香五月手机在线| 蜜臀AV在线观看| 99在热线免费视频| 久久99综合| 伊人99久久| 99干日本| yazhouzonghesese| 在线不卡中文字幕| 国产精产国品一二三在观看 | 99人妻碰碰碰久久久久视| 亚洲精品网站色视频| 亚洲丁香五冃97色| 日韩在线99| 丁香激情综合| A久久| 久久成人性爱| 色婷婷性爱| 激情四射五月天| 岛国AV网| 97丁香花五月天激情小说| Caoub青青超碰 | 激情婷婷五月女| 五月婷婷亚洲综合在线| 五月天婷婷丁香| 婷婷五月天欧美| 无码一区二区日韩| 九草性爱| 天天碰夜夜操| 婷婷金品综合视频| 这里只有精品无码| xxx日本东京热| 色爱综合网| 亚洲欧洲小视频9| 狠狠干综合| www.久久久久久久| 五月天激情网开心网| 久月丁香爱婷婷综合| 日本人人草草| 玖玖婷婷五月天毛片| 九九碰九九爱97| 久久婷狠狠色| 五月丁香六月在线| 开心五月色婷| 丁香五月 综合| 99精品在线| site:pnnrt.com| 五月色丁香激情| 五月丁香五月丁香| 婷婷五月天激情网| 神马欧美精| 国产操逼视频网站| 婷婷在线中文字幕| 午夜69成人做爰视频| 91综合在线| 五月天色综合| 中文字幕成人影视| 五月丁香另类图片| 婷婷综合色五月天| 亚洲精品五月| 狠狠干总合| 激情综合网婷婷久久| 天搞天天天天天| 综合AV在线| 五月丁香久久呀| 久久久A级视频| 婷婷久久欧美| 91怕怕网| 另类国产欧美视频| 丁香操逼| 亚洲天堂制| 亚洲一个色| 99热 在线播放| 日本婷婷激情四射中文字幕在线观看| 日产精品一线二线三线芒果| 五月丁香啪啪啪| 五月天婷婷在线播放| 另类在线| 开心激情五月天网| 九九aV| 91操碰| 婷婷成人基地| 丁香婷婷老熟女综合网| www九九免费视频| 色插人人| 色色影院黄大片| 综合伊人久久| 99热| 国产精品久久久久久久久久免费 | 久久只有这里精品免费| 色婷婷六月性| 五月丁香激情婷婷综合字幕| 五月激情偷拍婷婷| 色五月婷婷五月丁香五月| 日日夜夜综合| 久久这里只有精品8| 成人网在线视频| 激情五月丁香五月| 26uuu国产| 久久九九激情五月天| www久久久久久久| 99久精品| 色婷婷手机在线| 亚洲爱爱无码婷婷色五月| 色色欧美色色| 午夜婷婷久久| 播播网色播播| 爱iii做iiii日| 99综合成人视频在线观看| 婷婷六月综合| 丁香六月婷婷综合激情欧美| 天天 青草 丝袜制服 在线| 日日爽日日| 538任你爽| 成人无码髙潮喷水A片| 婷婷五月天亚洲综合网| 欧美激情综合色综合啪啪五月| 色热久资源| 日日夜夜天天爽| 日本天堂免费99| 婷婷久久久| 久草嫩草在线观看| 视频这里只有精品| 色色网站免费| 天天狠天天叉| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色九九中文字幕| 成人版视频在线观看| 深爱激情四射| 色婷婷亚洲婷婷在线观看| 五月天色婷婷综合| 丁香六月婷婷色播| 深爱五月天| 91碰操| 色色五月天婷婷| 懂色AⅤ| 婷婷五月天久久| 91n网站cad入口在线观看| 91啪啪| 国产无套精品一区二区| 亚洲另类电影| 激情伊人网| 午夜性爱影视一区77| 丁香五月情| 天堂美国久久| 开心 五月 综合| 开心婷婷五月| 久久综合婷婷激情| 9久热| 成年人丁香五月| 国产精品久久久爽爽爽麻豆色哟哟| 九月综合| 五月天久久丁香| 一本色道久久综合狠狠躁小说| av五月丁香婷婷网| 狠狠色丁香婷婷基地| 99啪啪视频| 超91在线视频| 蜜乳A√| 激情图片五月天| 丁香婷婷色色| 99热这里只有精品2| 免费观看全黄做爰的视频| 丁香五月性| 伊人玖玖网| 墨西哥毛片内射精| 天天拍久久| 91碰碰碰| 97人人干| 九九五月天| 99精品高潮| 激情五月,婷婷五月,丁香五月| 亚洲精品V天堂中文字幕| 九九国产视频| 久久多色| 欧美性猛交99久久久99| 狠狠草狠狠草| 99九九热播在线免费视频| 免费久久这里只有精品99| 九九亚洲| 九九热这里有精品视频| 91九色精品熟女内射| 国产视频福利| 黄网免费观看| 久久色五月天| www综合久久| 四月婷婷丁香五月| 超碰人人操人人9| 久久这里只| 五月丁香久久激情综合| 久色网五月| 丁香婷婷老熟女综合网| 久久人妻情侣| 91妻人人爽人人看片| 婷婷操逼网| 97一区二区| 九九热这里只有精品31| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 狠狠操.com| 色五月激情网| 91操色| 熟女人妻一区二区三区免费看| 亚洲在线激情婷婷五月| 中国丰满熟女A片免费观| 日日干日日色| 色色三级视频| 99精品在线下载| 超级碰碰99| 色五月婷婷亚洲最大| 日熟女| 99ri精品视频在线观看| 无码se| 欧美色综合天天久久综合精品| 五月丁香六月激情狠狠| 激情久久伊人| 超碰99资源站| 婷婷中文在线| 天天搞夜夜六| 五月婷久久久久综合| 99免费在线| 9久热在线视频精品| 天天噜噜| 夜夜爽日日躁| a免费在线| 色香久久| 欧美丁香婷婷天天操| 精国产品一区二区三区A片| av网站中文| 热久久色| 色婷婷五月综合| 婷婷五月开心中文字幕在线| 操婷婷久久| 老司机伊人| 五月丁香亚洲综合网| 97人妻碰碰碰久久久久-最近国语高清| 久久综合丁香| 人人干天天操五月丁香| 日本全黄一级999| 亚洲天堂99| 亚洲Av入口| 99视频在线观看网址| 丁香五月欧美| 天天综合影院| 91超级碰碰碰| 婷婷五月天久草在线| 久操97| 99成人网站| 1234操逼网| 三级三久久线久久99久目本WW| 性99网站| 丁香五月婷婷啪啪| 欧美久久久中文字幕| 欧美日朝成人| 色综色五月天婷婷| 久久作爱| 日韩aⅴ视频| 婷婷五月天久久| 精品久久66| 99色精品视频| 久久码久久无清| 九九色色| 九九性爱网| 色婷婷五月亚洲| 九九综合九九| www色哟哟| 天天日日夜夜| 99A级片| 婷婷五月天在婷| 激情五月婷婷丁香六月| 亚洲性爱AV| 国产精品美女久久久久AV超清| 色五月欧美| 99热这里只有精品50| 色婷网| 婷婷伊人视婷婷婷| 大色鬼综合| 五月婷婷之综合激情| 国产视频婷婷| 九玖欧洲亚洲| 天堂AV三级| 久久婷婷五月综合精品蜜芽| 婷婷色狠狠| 午夜天堂一区人妻| 国产精品大香蕉| 狠狠色噜噜狠狠狠狠综合| 激情狠狠丁香月| 色久播播| 97干在线视频| 色99日韩| 大香蕉久久婷婷精品综合| 亚洲色色香蕉| 色色色色色色97| 99热香港| 丁香五月天在线观看视频| 五月丁香综合成人社区| 免费观看高清无码| 色五月 婷婷, 大香蕉| 五月激情影院| 色99在线视频| www色色色com| 操操人人| 久久五月婷婷丁香| 夜夜操夜夜操| 六月丁香社区| 丁香五月婷婷综合网| 六月色五月天天婷婷| 午夜理论片最新午夜理论剧| 婷婷五月丁香av网站| 99在线69| 九九99免费理论| 丁香五月区| 七七九色| 91青娱乐青青草| 99超级碰碰| 天堂色婷婷| 婷婷久久丁香五月| 九九热视频99| 九色91美女| 99热在线观看精品| 丁香五月婷婷激情网| 久热大香蕉| 亚洲五月天,激情视频| 婷婷月五天在线在线看| 99视频超级精品| 婷婷五月天受日本法律保护| 色视频2025| 丁香六月AV| 激情丁香淫荡婷婷| 激情五月六月丁香| 婷婷十月丁香| 国产婷婷五月色情综合| 日日干天天| 97人人操| 亚洲国产精品VA在线看黑人| 久久婷婷热| 国产成人AV不卡| 无码人妻一区二区一牛影视| Www.狠狠| 五月丁香六月婷| 色99亚洲| 亚洲综合在线丁香五月| 五月天精品视频| 综合色影院| www.99热这里只有精品| 国产亚洲精品久久久久久牛牛| 欧美成人猛片AAAAAAA| 96丁香六月婷婷蜜桃综合久久| 婷婷五月天天天| 色99在线| 婷婷91视频| 伊人9草在线观看| 久久综合性| 人妻videos人妻高清| 停停五月丁香| 婷婷精品免费久久| 欧美性猛交99久久久久99按摩| 拍色综合| 综合色五月天| 丁香五月亚洲无码| 开心五月网 | av无码电影| 婷婷丁香射射| 色五月丁香五月婷婷五月成人网| 丁五月激情视频免费| 九九热视频在线观看| 五月天丁香婷婷久久九| 超碰在线免费9| 六月亚洲| 婷丁香五月天| 欧美成人精品A片免费一区99| 强奸幻女毛片| 99色综合网| 色五月婷婷亚洲| 五月天.com| 久久天堂女人| 久久精品爱爱| 玖玖热视频| 六月激情网| 久久婷婷五| 久月丁香爱婷婷综合| 综合色播| 日本精品久久久久中文字幕| 丁香花婷婷五月天| 九热视频| 丁香婷婷色色| 色偷偷AV亚洲男人的天堂| 色婷婷精品视频| 丁香五月aV| 综合激情在线| 97操碰人免费| 99国产小视频2013| 久久天天| 综合aV在线| 久久精彩免费视频精彩免费视频| 夜丁香综合| 99色色| 成人av中文字幕| 亚洲超碰中文字幕| 丁香无五月网| 色五月大| 91av视频| 桃色激情婷婷伊人网| 六月婷婷激情| 亚洲激情五月| www开心激情网| 五月丁香久久| www激情| 六月婷婷八月丁香| 亚洲mm免费| 婷婷五月天国产手机在线视频观看| 久久五月网| 伊人久热91| 色婷婷六月天在线| 99网| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 激情婷婷色色| 婷婷五月天激情网| 97在线日韩| 日本在线噜噜| 最近中文字幕在线中文视频| 久9热| 色综合婷婷| 91九色中文字幕女在线观看| 自拍盗摄 另类| a性生活久久无| 欧美毛片www| 777精品久无码人妻蜜桃| 五月婷俺去也| 91久久久久久| 九九综合| 9久久久久久久久久久| 五月天婷婷色色网| 26uuu成人网| 午夜日韩久久久网站| 99热这里只有精品86| 五月丁香 狠狠爱| A A色色| 久久大香蕉丁香| 亚洲一区二区无码蜜乳av| 国产精产国品一二三在观看| 日日色五月天| 777影视理论片大全在线观看| 思思热闹这里只有精品| 九九在线精点品| 婷婷综合欧美| 色五月成人| 久热这里只有精品在线观看 | 91精品久久久久久久久久| 五月丁香六月激情狠狠| 五月日韩中文字幕|