Здравствуйте форумчане! Подскажите пожалуйста, как можно выполнить перенос значений из нескольких ячеек в TextBox в виде одного текста, но чтобы значения были не друг за другом, а друг над другом (в файле будет пример, как бы я хотел это видеть).
Здравствуйте форумчане! Подскажите пожалуйста, как можно выполнить перенос значений из нескольких ячеек в TextBox в виде одного текста, но чтобы значения были не друг за другом, а друг над другом (в файле будет пример, как бы я хотел это видеть).monstr_ork
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]
можно: [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
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]
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
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
Вопрос болееи не актуален, вроде бы сам решил в чем проблема. А кто нибудь ещё можете подсказать как сделать в текстбоксе подсказку текстом? Ну чтобы пользователь видел что там будет вводится или выводится.
Вопрос болееи не актуален, вроде бы сам решил в чем проблема. А кто нибудь ещё можете подсказать как сделать в текстбоксе подсказку текстом? Ну чтобы пользователь видел что там будет вводится или выводится.monstr_ork
Сообщение отредактировал monstr_ork - Пятница, 13.04.2018, 09:41