2015-03-26 4 views
0

Могу ли я прокручивать текстовое поле для каждой введенной строки и отформатировать ее? Например, если пользователь вводит:Как форматировать каждую строку в текстовом поле в VBA Excel

Text1 
Text2 

Я хотел бы выводить его как в одной строке.

«Текст1», «Text2»

Также было бы удивительным, если вы можете получить последнюю запятую не показывать.

+1

бонусных баллов? Награда Bounty? ;) – miradulo

+0

Вы хотите, чтобы он с '' 'апострофом правильно? – L42

+0

Просто удалить текст обертывания? – phil652

ответ

2

Это то, что вам действительно нужно

  • Добавить текстовое поле в листе

  • Добавьте этот код на TextBox1_Change() событие

    Dim mystr  
    
    mystr = Split(Sheet1.TextBox1.Text, vbCrLf) 
    Sheet1.Range("A1") = "'" & Join(mystr, "','") & "'" 
    
  • правой кнопкой мыши на текстовом поле и включить многострочный вариант

  • Control + Enter, чтобы изменить строку в текстовом поле

И у вас есть результат, который вы хотите:

enter image description here

+0

Спасибо! Это работает чудесно. Я получил его в тестовом поле вместо листа, поэтому я просто заменил Sheet.Range («A1») на Textbox2.Text – Sewder

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