Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2012, 17:32   #1
KateKate
 
Регистрация: 11.05.2011
Сообщений: 3
По умолчанию VBA

Помогите с программкой на VBA. мне нужно что бы информация из TextBox1 и 2 вставлялась, в определенные столбцы, но что бы программа сама находила пустую ячейку в этом столбце. Программу написала, но работает корявенько, информацию вставляет не в 3 и 4 столбцы а в 1 и 2 , как это изменить до меня дойти не может.
Код:
Private Sub CommandButton1_Click()
Dim M(1 To 2) As Variant
Dim Obj As Object
Dim N As Integer, I As Integer, x As Integer
Set Obj = Worksheets("Клиент").Columns(3).Cells.CurrentRegion
N = Obj.Rows.Count + 1
With UserForm2
M(1) = TextBox1.Text
M(2) = TextBox2.Text
End With
If Len(M(1)) = 0 Or Len(M(2)) = 0 Then
MsgBox "Заполнить все поля!", vbCritical, Title:="Ошибка ввода"
Exit Sub
End If
For I = 1 To 2
Worksheets("Клиент").Cells(N, I).Value = M(I)
Next I
With UserForm2
.TextBox1.Text = ""
.TextBox2.Text = ""
.TextBox1.SetFocus
End With
End Sub

Последний раз редактировалось ACE Valery; 03.06.2012 в 21:28.
KateKate вне форума Ответить с цитированием
Старый 03.06.2012, 17:51   #2
KateKate
 
Регистрация: 11.05.2011
Сообщений: 3
По умолчанию я сама все исправила

билась над ней часа 3, и вдруг осенило)
если кому интересно вот этот код работает правильно:
Код:
Private Sub CommandButton1_Click()
Dim M(3 To 4) As Variant
Dim Obj As Object
Dim N As Integer, I As Integer, x As Integer
Set Obj = Worksheets("Клиент").Columns(3).Cells.CurrentRegion
N = Obj.Rows.Count + 1
With UserForm2
M(3) = TextBox1.Text
M(4) = TextBox2.Text
End With
If Len(M(3)) = 0 Or Len(M(4)) = 0 Then
MsgBox "Заполнить все поля!", vbCritical, Title:="Ошибка ввода"
Exit Sub
End If
For I = 3 To 4
Worksheets("Клиент").Cells(N, I).Value = M(I)
Next I
With UserForm2
.TextBox1.Text = ""
.TextBox2.Text = ""
.TextBox1.SetFocus
End With
End Sub

Последний раз редактировалось ACE Valery; 03.06.2012 в 21:29.
KateKate вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA michael D. Помощь студентам 1 01.03.2012 13:02
VBa Дашкаа Помощь студентам 1 23.06.2011 13:47
VBA Amles Microsoft Office Excel 1 30.05.2009 04:28