簡體   English   中英

用戶表單 VBA Excel - Function 匹配

[英]UserForm VBA Excel - Function Match

我試圖通過 VBA 代碼在 Excel 中制作一個簡單的用戶表單。
主 function 查找一個數字並顯示與其關聯的值。
例如:
如果我的輸入是 1 (TextBox),那么它應該找到這個:Worksheet "db", Cell(1, 2)
這是我現在花在這個上的第二天,它仍然無法正常工作。 我想問題出在 Range 值上。

我的代碼:

Option Explicit
    
Private Sub CommandButton1_Click()

    Dim RecordRow As Long
    Dim RecordRange As Range
    
    On Error Resume Next
    
    RecordRow = Application.Match(CLng(TextBox1.Value), Sheets("db").Range("B:B"), 0)
    
    Set RecordRange = Sheets("db").Range("B:G").Cells(1, 1).Offset(RecordRow - 1, 0)
    TextBox2.Value = RecordRange(1, 1).Offset(0, 1).Value
    TextBox3.Value = RecordRange(1, 1).Offset(0, 2).Value
    TextBox4.Value = RecordRange(1, 1).Offset(0, 3).Value
    TextBox5.Value = RecordRange(1, 1).Offset(0, 4).Value
        
End Sub

請你支持我好嗎?

如果未找到匹配項Application.Match未通過運行時錯誤,則返回錯誤值。 因此,刪除 OERN,將匹配返回到 Variant 並測試IsError

Private Sub CommandButton1_Click()
    Dim RecordRow As Variant

    RecordRow = Application.Match(CLng(TextBox1.Value), Sheets("db").Range("B:B"), 0)
    If Not IsError(RecordRow) Then
        With Sheets("db").Cells(RecordRow, 2)
            TextBox2.Value = .Offset(0, 1).Value
            TextBox3.Value = .Offset(0, 2).Value
            TextBox4.Value = .Offset(0, 3).Value
            TextBox5.Value = .Offset(0, 4).Value
        End With
    End If
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM