Как активировать FormulaArray в Excel VBA без использования Ctrl + Shift + Enter? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу применить массив формул в моей программе 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...