2015-01-19 2 views
0

У меня есть пользовательская форма, из которой пользователь может выбрать блок текста для вставки в электронную таблицу в активной ячейке. Уловка заключается в том, что я не хочу, чтобы строки были изменены или изменены каким-либо образом. Я задал текстовое поле userform так, чтобы оно обертывалось с правильным количеством символов, а me.textbox.linecount возвращает правильное целое число. Трюк тянет линии от 1 до n на электронную таблицу и компенсирует каждую итерацию цикла. Может ли кто-нибудь сделать эту работу?Вывести строку 'n' из текстового поля userform

Private Sub cmdINS_Click() 
    Dim insTEXT As String 
    Dim nROWS As Integer 
    insTEXT = Me.txtINS.Value 
    If Len(insTEXT) < 91 Then 
     ActiveWindow.ActiveCell.Value = insTEXT 
    Else: 
     Me.txtINS.SetFocus 
     nROWS = Me.txtINS.LineCount 
     For i = 1 To nROWS 
      ActiveWindow.ActiveCell.Value = 'Me.txtINS LINE i <---Help, please 
      ActiveWindow.ActiveCell.Offset(1, 0).Select 
     Next 
    End If 
    Unload Me 
End Sub 

ответ

0

Предполагая, что каждая строка имеет возврат каретки/перевод строки вы можете сделать что-то вроде этого:

Dim vLines As Variant ' Vector to hold lines 
vLines = Split(insText, vbCrLF) ' 

Теперь вы можете линии читать построчно, vLines (п)

+0

Попытка сделать это но я не уверен, что если me.txtins.value несет вместе с ним CR. – mistersister

Смежные вопросы