我不明白为什么 VBA 在这个问题上对我大喊大叫。非常简单的代码,只涉及一个 if 语句,而且它显然有一个“开始”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 开发人员更好的程序员。