Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос значений из ячеек в TextBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос значений из ячеек в TextBox (Макросы/Sub)
Перенос значений из ячеек в TextBox
monstr_ork Дата: Пятница, 06.04.2018, 11:24 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте форумчане!
Подскажите пожалуйста, как можно выполнить перенос значений из нескольких ячеек в TextBox в виде одного текста, но чтобы значения были не друг за другом, а друг над другом (в файле будет пример, как бы я хотел это видеть).
К сообщению приложен файл: 5818015.xlsm (13.1 Kb)


Сообщение отредактировал monstr_ork - Пятница, 06.04.2018, 11:25
 
Ответить
СообщениеЗдравствуйте форумчане!
Подскажите пожалуйста, как можно выполнить перенос значений из нескольких ячеек в TextBox в виде одного текста, но чтобы значения были не друг за другом, а друг над другом (в файле будет пример, как бы я хотел это видеть).

Автор - monstr_ork
Дата добавления - 06.04.2018 в 11:24
Manyasha Дата: Пятница, 06.04.2018, 11:37 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
monstr_ork, здравствуйте, нужно поставить свойство MultiLine = True
[vba]
Код
Sub t()
    Me.TextBox1.MultiLine = True
    Me.TextBox1.Value = Join(Application.Transpose(Range("a2:a7").Value), Chr(10))
End Sub
[/vba]
К сообщению приложен файл: 5168553.xlsm (19.6 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеmonstr_ork, здравствуйте, нужно поставить свойство MultiLine = True
[vba]
Код
Sub t()
    Me.TextBox1.MultiLine = True
    Me.TextBox1.Value = Join(Application.Transpose(Range("a2:a7").Value), Chr(10))
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 06.04.2018 в 11:37
monstr_ork Дата: Пятница, 06.04.2018, 11:55 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Manyasha, спасибо, но возможно это сделать без кнопки? ну т.е. как только в столбце появляются значения то они переносятся в TextBox ?
 
Ответить
СообщениеManyasha, спасибо, но возможно это сделать без кнопки? ну т.е. как только в столбце появляются значения то они переносятся в TextBox ?

Автор - monstr_ork
Дата добавления - 06.04.2018 в 11:55
Manyasha Дата: Пятница, 06.04.2018, 12:03 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
можно:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    Set r = Range([a2], Cells(Rows.Count, 1).End(xlUp))
    If Not Intersect(Target, r) Is Nothing Then
        Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))
    End If
End Sub
[/vba]
К сообщению приложен файл: 5818015-2.xlsm (21.1 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеможно:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    Set r = Range([a2], Cells(Rows.Count, 1).End(xlUp))
    If Not Intersect(Target, r) Is Nothing Then
        Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))
    End If
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 06.04.2018 в 12:03
monstr_ork Дата: Пятница, 06.04.2018, 12:37 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Manyasha, большое спасибо, если в ячейках будет формула, то Ваш код я так понимаю не работает?
К сообщению приложен файл: 0431867.xlsm (19.6 Kb)
 
Ответить
СообщениеManyasha, большое спасибо, если в ячейках будет формула, то Ваш код я так понимаю не работает?

Автор - monstr_ork
Дата добавления - 06.04.2018 в 12:37
Manyasha Дата: Пятница, 06.04.2018, 13:04 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
monstr_ork,
[vba]
Код
Private Sub Worksheet_Calculate()
    Dim r As Range
    
    Set r = Range([a2], Cells(Rows.Count, 1).End(xlUp))
'    Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))
    
    ' Если нужно сцеплять без пустых
    Dim res As String
    For Each x In r
        If x <> "" Then res = res & x.Value & Chr(10)
    Next x
    Me.TextBox1.Value = res
End Sub
[/vba]
К сообщению приложен файл: 2692203.xlsm (20.0 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеmonstr_ork,
[vba]
Код
Private Sub Worksheet_Calculate()
    Dim r As Range
    
    Set r = Range([a2], Cells(Rows.Count, 1).End(xlUp))
'    Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))
    
    ' Если нужно сцеплять без пустых
    Dim res As String
    For Each x In r
        If x <> "" Then res = res & x.Value & Chr(10)
    Next x
    Me.TextBox1.Value = res
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 06.04.2018 в 13:04
monstr_ork Дата: Вторник, 10.04.2018, 23:31 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Manyasha, могли бы еще подсказать команду как скопировать данные из TextBox ?


Сообщение отредактировал monstr_ork - Вторник, 10.04.2018, 23:31
 
Ответить
СообщениеManyasha, могли бы еще подсказать команду как скопировать данные из TextBox ?

Автор - monstr_ork
Дата добавления - 10.04.2018 в 23:31
Manyasha Дата: Среда, 11.04.2018, 20:15 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
monstr_ork, посмотрите внимательно на код. [vba]
Код
Me.TextBox1.Value = res
[/vba]

Me.TextBox1.Value написать справа от =, а слева - то, куда надо скопировать
[vba]
Код
[a1].value = Me.TextBox1.Value
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеmonstr_ork, посмотрите внимательно на код. [vba]
Код
Me.TextBox1.Value = res
[/vba]

Me.TextBox1.Value написать справа от =, а слева - то, куда надо скопировать
[vba]
Код
[a1].value = Me.TextBox1.Value
[/vba]

Автор - Manyasha
Дата добавления - 11.04.2018 в 20:15
monstr_ork Дата: Среда, 11.04.2018, 21:49 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Manyasha, у меня копирование было по кнопке на листе, но я это уже решил.
У меня такой к вам вопрос, я вставил ваш код в лист и теперь при открытии другого эксель файла происходит ошибка (правда я Ваш код не много модифицировал)

[vba]
Код
Private Sub Worksheet_Calculate()
'   Worksheet_Calculate
    Dim r As Range

    Set r = Sheets(3).Range("D11:D51")
'    Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))

'     Если нужно сцеплять без пустых
    Dim res As String
    For Each X In r
        If X <> "" Then res = res & X.Value & Chr(10)
    Next X
    Me.TextBox1.Value = res
End Sub
[/vba]

Ругает он на вот эту строчку [vba]
Код
Set r = Sheets(3).Range("D11:D51")
[/vba]

Помогите можалуйста
 
Ответить
СообщениеManyasha, у меня копирование было по кнопке на листе, но я это уже решил.
У меня такой к вам вопрос, я вставил ваш код в лист и теперь при открытии другого эксель файла происходит ошибка (правда я Ваш код не много модифицировал)

[vba]
Код
Private Sub Worksheet_Calculate()
'   Worksheet_Calculate
    Dim r As Range

    Set r = Sheets(3).Range("D11:D51")
'    Me.TextBox1.Value = Join(Application.Transpose(r.Value), Chr(10))

'     Если нужно сцеплять без пустых
    Dim res As String
    For Each X In r
        If X <> "" Then res = res & X.Value & Chr(10)
    Next X
    Me.TextBox1.Value = res
End Sub
[/vba]

Ругает он на вот эту строчку [vba]
Код
Set r = Sheets(3).Range("D11:D51")
[/vba]

Помогите можалуйста

Автор - monstr_ork
Дата добавления - 11.04.2018 в 21:49
monstr_ork Дата: Пятница, 13.04.2018, 08:20 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Вопрос болееи не актуален, вроде бы сам решил в чем проблема. А кто нибудь ещё можете подсказать как сделать в текстбоксе подсказку текстом? Ну чтобы пользователь видел что там будет вводится или выводится.


Сообщение отредактировал monstr_ork - Пятница, 13.04.2018, 09:41
 
Ответить
СообщениеВопрос болееи не актуален, вроде бы сам решил в чем проблема. А кто нибудь ещё можете подсказать как сделать в текстбоксе подсказку текстом? Ну чтобы пользователь видел что там будет вводится или выводится.

Автор - monstr_ork
Дата добавления - 13.04.2018 в 08:20
Pelena Дата: Пятница, 13.04.2018, 09:09 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19158
Репутация: 4411 ±
Замечаний: ±

Excel 365 & Mac Excel
monstr_ork, не надо складывать все Ваши вопросы в одну тему. Читайте Правила форума


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеmonstr_ork, не надо складывать все Ваши вопросы в одну тему. Читайте Правила форума

Автор - Pelena
Дата добавления - 13.04.2018 в 09:09
monstr_ork Дата: Пятница, 13.04.2018, 09:40 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, ок, тогда вопрос решен.
 
Ответить
СообщениеPelena, ок, тогда вопрос решен.

Автор - monstr_ork
Дата добавления - 13.04.2018 в 09:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос значений из ячеек в TextBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!