Excel VBA"结束如果没有阻止如果" - VBA错误

Jos*_*rin 2 excel vba excel-vba excel-2010

我无法弄清楚为什么VBA会对我大吼大叫.非常简单的代码,只涉及一个if语句,它显然有一个"Starting"If和一个匹配的End If.我是一名VB.NET开发人员,所以它可能与我所缺少的语法不同.

 Sub splitter()
   Dim line() As String
   Dim rng As Range
   Dim row As Range
   Dim cell As Range
      For Each row In rng.Rows
        If row.Value <> "" Then
            line = Split(Range(row, 1), ",")
            Select Case line(0)
               Case "Desktop"
                   Range(row, 8).Value = "Desktop"
               Case "Laptop"
                   Range(row, 8).Value = "Laptop"
               Case "Server"
                   Range(row, 8).Value = "Server"
               Case Else
                   Range(row, 8).Value = "N/A"
        End If
       Next
    End Sub
Run Code Online (Sandbox Code Playgroud)

具体来说,最终结果是它将根据"父"下拉列表(Range(row,1))的选择填充"Child"下拉列表(Range(row,8)).因为问题会出现,我使用VBA进行此操作的原因是因为我可以使用Split()函数以及Parent下拉列表中的项目的方式,例如."桌面,戴尔,745".另外,我是一个比excel开发人员更好的程序员.

Jon*_*ell 8

您的select语句需要结束:

Select Case line(0)
   Case "Desktop"
       Range(row, 8).Value = "Desktop"
   Case "Laptop"
       Range(row, 8).Value = "Laptop"
   Case "Server"
       Range(row, 8).Value = "Server"
   Case Else
       Range(row, 8).Value = "N/A"
End Select
Run Code Online (Sandbox Code Playgroud)