Как можно из текста 123456 (находиться в текстбоксе1) взять первые 4 симвала, чтобы использовать их в дальнейшем. например: если первые 4 симвала текстбокса1 = 1234, то привет, если 2345, то пока и т.д.
Фукция =ПСТР в VBA
28.12.2010 22:58:42
|
|
|
|
28.12.2010 23:07:17
и код поймет что 123456 нужно брать из текстбокса1?
|
|
|
|
28.12.2010 23:07:55
{quote}{login=}{date=28.12.2010 11:05}{thema=Re: Re: Фукция =ПСТР в VBA}{post}
а что означает left b mid?{/post}{/quote} в VBA left = ЛЕВСИМВ mid = ПСТР |
|
|
|
28.12.2010 23:10:25
{quote}{login=DOR}{date=28.12.2010 11:07}{thema=}{post}и код поймет что 123456 нужно брать из текстбокса1?{/post}{/quote}
нет, давайте свой "текстбокс1" в виде xls файла |
|
|
|
28.12.2010 23:27:18
.
|
|
|
|
29.12.2010 07:28:48
Большое спасибо Вам, R Dmitry. А можно как нибудь объеденить 2 события, что nj вроде
Private Sub Private Sub ComboBox1_Change() or TextBox2_Change() .... End Sub |
|
|
|
29.12.2010 10:51:36
{quote}{login=DOR}{date=29.12.2010 07:28}{thema=}{post}Большое спасибо Вам, R Dmitry. А можно как нибудь объеденить 2 события, что nj вроде
Private Sub Private Sub ComboBox1_Change() or TextBox2_Change() .... End Sub{/post}{/quote} Поясните, что Вы хотите получить в итоге?
|
|||
|
|
29.12.2010 19:55:05
итог всех действи это значение в ТБ1. Выбор значения происходит по 2-м критериям, значение в ТБ2 и КБ1. Если написать код только для КБ1, вроде ты все хорошо, но если помять значение в ТБ2, то для того чтобы поменялось значение ТБ1 нужно выбрать любое значение с КБ1 (отличное от того котое сейчас есть) и только тогда будет изменено значение в ТБ1. Если напикать еще такой же код, но уже для ТБ2, то заполнять дынные придется с ТБ1, т.к. в противном случае будет ошибка.
Как то так, пока писал чуть сам незапутался. Нужно как то объедитать эти два кода, чтобы форму можно было заполнять с любого ТБ. (хоть ТБ1, хоть ТБ2) |
|
|
|
29.12.2010 20:18:29
{quote}{login=DOR}{date=29.12.2010 07:55}{thema=}{post}итог всех действи это значение в ТБ1. Выбор значения происходит по 2-м критериям, значение в ТБ2 и КБ1. Если написать код только для КБ1, вроде ты все хорошо, но если помять значение в ТБ2, то для того чтобы поменялось значение ТБ1 нужно выбрать любое значение с КБ1 (отличное от того котое сейчас есть) и только тогда будет изменено значение в ТБ1. Если напикать еще такой же код, но уже для ТБ2, то заполнять дынные придется с ТБ1, т.к. в противном случае будет ошибка.
Как то так, пока писал чуть сам незапутался. Нужно как то объедитать эти два кода, чтобы форму можно было заполнять с любого ТБ. (хоть ТБ1, хоть ТБ2){/post}{/quote} Private Sub ComboBox1_Change() If Left(TextBox2, 4) = 10 Then TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1) Else TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 2) End If End Sub Private Sub TextBox2_Change() ComboBox1_Change End Sub Private Sub UserForm_Initialize() ComboBox1.List = Sheets("Лист1").Range("a1:c5").Value End Sub если я все правильно понял :)
|
|||
|
|
29.12.2010 20:29:42
Это тоже самое что и
Private Sub ComboBox1_Change() If Left(TextBox2, 4) = 10 Then TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1) Else TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 2) End If End Sub Private Sub TextBox2_Change() If Left(TextBox2, 4) = 10 Then TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1) Else TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 2) End If End Sub Если неначать заполнять форму с КБ, то ругается на TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 2) а нужно чтобы можно было начинать с любой |
|
|
|
29.12.2010 20:58:04
Private Sub ComboBox1_Change()
On Error Resume Next If Left(TextBox2, 4) = 10 Then TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1) Else TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 2) End If End Sub Private Sub TextBox2_Change() ComboBox1_Change End Sub Private Sub UserForm_Initialize() ComboBox1.List = Sheets("Лист1").Range("a1:c5").Value End Sub
|
|||
|
|
29.12.2010 20:59:28
Да. Это то, что нужно. Спасибо.
|
||||
|
|
|||
Читают тему