Я хочу применить массив формул в моей программе Excel vba, но мой символ массива формул уже превышает 255 символов, поэтому я должен использовать метод замены, чтобы заменить формулу.
Массив формул результата верен, но мне всегда нужно использовать Ctrl + Shift + Enter, чтобы активировать формулу, может ли кто-нибудь еще научить меня, как это сделать в этой ситуации?
Я хочу отобразить правильное содержимое массива формул без использования Ctrl + Shift + Enter.
Следуй мой код
Моя логика программы: когда пользователь щелкает и изменяет столбец, я прочитаю содержимое ячеек и сохраню данные в массиве ItemArray.
Sub countItem(X, y As Variant)
Dim ItemArray() As String
Dim i As Integer, j, k, m As Integer
Dim theFormulaPart1 As String
Dim theFormulaPart2 As String
Dim theFormulaPart3 As String
Dim theFormulaPart4 As String
If (Cells(X, y) <> "") Then
'###split string and store in array###'
ItemArray = Split(Cells(X, y), "+")
theFormulaPart1 = "=TEXTJOIN(CHAR(10),TRUE,IF("
theFormulaPart3 = ",$B4:$B81,"""" ))"
For j = 0 To UBound(ItemArray)
theFormulaPart2 = theFormulaPart2 & "+" & "((E4:E81=" & ItemArray(j) & ")+0)"
Next j
theFormulaPart4 = "X()" & theFormulaPart2 & "Y()"
With Cells(X + 3, 5)
.FormulaArray = theFormulaPart4
.Replace "Y()", theFormulaPart3
.Replace "X()", theFormulaPart1
End With
End If
End Sub