Как обрабатывать более 255 символов в ячейке в Excel?

Я использую код VBA для копирования вставки ( Application.Transpose ) некоторой информации с листа 2 на лист 1. Код работает очень хорошо, однако у меня есть несколько ячеек с более чем 255 символами.

Я сталкиваюсь с ошибкой с этими ячейками (ошибка 13: несоответствие типа). Я думаю, это связано с тем, что ячейка содержит более 255 символов.

Ниже, код, который я использую:

 Sub Bouton3_Cliquer() Dim O1 As Worksheet 'déclare la variable O1 (Onglet 1) Dim O2 As Worksheet 'déclare la variable O2 (Onglet 2) Dim TC As Variant 'déclare la variable TC (Tableau de Cellules) Dim D As Object 'déclare la variable D (Dictionnaire) Dim I As Integer 'déclare la variable I (Incrément) Dim TMP As Variant 'déclare la variable TMP (tableau TeMPoraire) Dim TL() As Variant 'déclare la variable TL (Tableau de Lignes) Dim K As Integer 'déclare la variable K (incrément) Dim PL As Integer 'déclare la variable PL (Première Ligne) Dim J As Integer 'déclare la variable J (incrément) Dim L As Byte 'déclare la variable L (incrément) Set O1 = Sheets("Feuil1") Set O2 = Sheets("evaluations") TC = O1.Range("B1").CurrentRegion Set D = CreateObject("Scripting.Dictionary") For I = 4 To UBound(TC, 1) D(TC(I, 1)) = "" Next I TMP = D.keys TC = O2.Range("A1").CurrentRegion For I = 0 To UBound(TMP, 1) Erase TL 'efface le tableau TL K = 1 'initialise la variable K PL = O1.Columns(2).Find(TMP(I), O1.Range("B3"), xlValues, xlWhole).Row For J = 2 To UBound(TC, 1) If TC(J, 1) = TMP(I) Then ReDim Preserve TL(1 To UBound(TC, 2) - 1, 1 To K) For L = 1 To UBound(TC, 2) - 1 TL(L, K) = TC(J, L + 1) Next LK = K + 1 ' End If 'fin de la condition Next J If K > 1 Then O1.Cells(PL, 16).Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) Next I ' End Sub 

И проблемная линия:

 If K > 1 Then O1.Cells(PL, 16).Resize(UBound(TL, 2), _ UBound(TL, 1)).Value = Application.Transpose(TL) 

Вы знаете, как я могу решить эту проблему?

Измените свое заявление о монолинии

 If K > 1 Then O1.Cells(PL, 16).Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) 

к этому многострочному и объявить T_TL как вариант тоже

 If k > 1 Then T_TL = Application.Transpose(TL) O1.Cells(PL, 16).Resize(UBound(TL, 2), UBound(TL, 1)).Value = T_TL End If 

При этом вы увидите, что это не Transpose или назначающая часть, которая не работает!

Давайте будем гением компьютера.