VBA excell - if-else在循环中并不像我需要的那样工作

时间:2017-12-20 10:57:32

标签: excel excel-vba vba

我正在设置一个包含大约15个字段的简单表单,最后将这些字段复制并保存在我的数据库中(相同的excel文件但是单独的电子表格)。然后我需要设计一个程序,使我能够修改现有的记录。 我创建了一个将数据库中的所有数据调回到表单中,以便可以修改然后保存。它工作正常,但我不知道何时将ELSE用于表格中不存在搜索记录的情况。

cursor.execute()

1 个答案:

答案 0 :(得分:0)

我认为如果您使用以下代码替换代码,它应该按预期工作:

Dim licznik As Long
Dim x As Long
Dim specyfikacje As Worksheet
Dim formularz As Worksheet

Set specyfikacje = Sheets("specifications")
Set formularz = Sheets("form")

spec_number = formularz.Range("b4").Value

If spec_number = "" Then
    MsgBox "Type the specification number in the designated field: B4"
Else

    licznik = specyfikacje.Cells(specyfikacje.Rows.Count, "A").End(xlUp).Row 'find the last row on Column A on Sheet specifications

    With specyfikacje.Range("A:A")
        Set Rng = .Find(What:=spec_number) 'search column A of specifications for the spec_number
            If Not Rng Is Nothing Then 'if found
                For x = 1 To 18
                    formularz.Range("b" & i + 5) = Rng.Offset(0, i).Value
                Next x
            Else
                MsgBox "The product you typed in doesn't exist"
            End If
    End With
End If
End Sub