根據其他組合框中的選定值,我必須填充幾個組合框。我想要的是填充選定名稱的活動框。我比較某個名稱是否在一行中,然後使用偏移量來獲取活動名稱並將其寫入數組。它不工作可能與偏移有關,或者活動單元的合併可能是一個問題。這裏是我的代碼:excel vba選擇單元格
Function FindingActivities(ExpName)
Dim ActNames(500) As String
Dim i As Integer
Dim CurrContent As String
For Each cell In Range("B7").EntireColumn.cells
If cell.Value <> "" Then
If ExpName = cell.Value Then
CurrContent = Left(cell.Offset(0, -1).Value, 2)
If CurrContent = "Ac" Then
ActNames(i) = cell.Offset(0,-1).Value
i = i + 1
End If
End If
End If
Next cell
FindingActivities = ActNames()
End Function
這是代碼來填充組合框:
Private Sub ComboBox1_Change()
Dim ExpName As String
ExpName = ComboBox1.Value
Dim ActNames() As String
ActNames = FindingActivities(ExpName)
For i = 0 To UBound(ActNames)
If ActNames(i) <> "" Then
ComboBox3.AddItem ActNames(i)
End If
Next
End Sub
任何人有一個想法?
哪部分不工作?你如何聲明你的變量? – aevanko
我添加了該功能的附加代碼。不工作的部分是CurrContent是空的,儘管活動名稱應該在那裏。 – user366121
是否'CurrContent' *總是*空字符串?你有沒有試過設置一個斷點並調試你的代碼?例如注意'cell.Offset(0,-1).Value'?聽起來你只需要做到這一點,你會發現你自己的錯誤。 –