簡體   English   中英

如何在Excel中獲取單元格值?

[英]How to get the cell value in Excel?

我想將單元格值與Excel VBA中的文本框進行比較,但是得到的是對象定義的錯誤。 不知道為什么 請幫忙?

Private Sub btnPayment_Click()
    Dim ws As Worksheet
    For Each ws In Excel.Worksheets
        If ws.Name = "Payroll" Then
            Set ws = Worksheets("Payroll")
                For counter = 0 To ws.UsedRange.Rows.Count
                    If ws.Cells(counter, 3).Value = txtStaffCode.Value Then
                        lblStatus.Caption = "Paid"
                    Else
                        i = ws.UsedRange.Rows.Count
                        j = ws.UsedRange.Rows.Count + 1
                         ws.Cells(i + 1, 1).Value = i
                         ws.Cells(i + 1, 2).Value = Format(Now, "[$-409]m/d/yyyy h:mm AM/PM;@")
                         ws.Cells(i + 1, 3).Value = txtStaffCode.Value
                         ws.Cells(i + 1, 4).Value = txtName.Value
                         ws.Cells(i + 1, 5).Value = Val(txtBaseSalary.Text)
                    End If
                Next counter
            Exit For
        End If
    Next
End Sub

如果ws.Cells(counter,3).Value = txtStaffCode.Value,則 '這是錯誤行。 請幫忙

嘗試: If ws.Cells(counter, 3).Value = Val(txtStaffCode.Text) Then

Excel中的單元格集合是基於1的,您假設它是基於0的,因此會出現錯誤。 因此, counter應從1開始,而不是0。請閱讀https://superuser.com/questions/988321/which-excel-objects-are-zero-based-and-that-are-one-based

希望這可以幫助

暫無
暫無

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

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