Excel VBA "End If without block If"- VBA 错误

标签 excel excel-2010 vba

我不明白为什么 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

具体来说,最终结果是它将根据“父”下拉列表 (Range(row, 1)) 中的选择填充“子”下拉列表 (Range(row, 8)) 。因为会出现问题,所以我使用 VBA 执行此操作的原因是因为我可以利用 Split() 函数以及父级下拉列表中的项目的制作方式,例如。 “台式机,戴尔,745”。而且,我是一个比 Excel 开发人员更好的程序员。

最佳答案

您的 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

关于Excel VBA "End If without block If"- VBA 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460065/

相关文章:

vba - 在 VBA 中使用工作表索引而不是名称

excel - 如何检查单元格是否有图片?

vba - 不正确的base64编码VBA

excel - 在 Excel 2010 中用逗号分隔单词

events - xla 加载项中的 Worksheet_SelectionChange 事件

java - 安全的?将 Excel 函数转换为 Web 脚本

excel - 撇号之间的区别?

excel - 如何更改 Excel 2010 中的默认 VBA 引用

excel - 在单独的工作表中显示表格的一部分

excel - Excel 数据透视表中的小计