Здравствуйте, скажите пожалуйста как на столбец С сделать такая запись уже существует, если при вводе мы вводим тоже значение. Файл по ссылке, т.к превышает размер файл. http://www.cyberforum.ru/vba/thread2446173.html#taglist
Попробовала, но пример тоже превышает, а можете показать на коде? Нужно чтоб когда мы вводим в форме в код и если такой код уже есть , то чтоб он выдавал сообщения " Что такая запись уже существует, нужно ли добавить новую или нет?" Это получается столбец С
Код
Private Sub CommandButton2_Click()
Dim Ar, I As Integer
Ar = Array(1, 8, 9, 10, 7, 6, 20, 19, 17, 18, 16, 15, 14, 13, 12, 11, 25, 24, 23, 22, 21, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 40, 41, 39) 'продолжить массив номерами по порядку следования текстбоксов
Set sht = Sheets("Лист1")
N = sht.Range("A1").CurrentRegion.Rows.Count
For I = 1 To UBound(Ar) + 1
sht.Cells(N + 1, I) = Me.Controls("TextBox" & Ar(I - 1))
Me.Controls("TextBox" & Ar(I - 1)) = ""
Next
Me.TextBox1 = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Value + 1
End Sub
Private Sub UserForm_Initialize()
Me.TextBox1 = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Value + 1
Me.TextBox8.SetFocus
End Sub
Добрый вечер. Я так пробую - что-то у меня сетфокус не отрабатывает, но может и не нужно...
Код
Private Sub TextBox9_AfterUpdate()
x = TextBox9
Set sht = Sheets("Лист1")
a = sht.Range("A1").CurrentRegion.Columns(3).Value
For I = 1 To UBound(a)
If a(I, 1) = x Then MsgBox "Такая запись уже существует!", vbCritical: TextBox9.SetFocus: TextBox9 = Empty: Exit For
Next
End Sub
P.S. Правда файл брал не по ссылке, а с другого форума.
Hugo написал: Добрый вечер.Я так пробую - что-то у меня сетфокус не отрабатывает, но может и не нужно...Код ? 12345678Private Sub TextBox9_AfterUpdate() x = TextBox9 Set sht = Sheets("Лист1") a = sht.Range("A1").CurrentRegion.Columns(3).Value For I = 1 To UBound(a) If a(I, 1) = x Then MsgBox "Такая запись уже существует!", vbCritical: TextBox9.SetFocus: TextBox9 = Empty: Exit For NextEnd SubP.S. Правда файл брал не по ссылке, а с другого форума.
Hugo написал: Private Sub TextBox9_AfterUpdate() x = TextBox9 Set sht = Sheets("Лист1") a = sht.Range("A1").CurrentRegion.Columns(3).Value For I = 1 To UBound(a) If a(I, 1) = x Then MsgBox "Такая запись уже существует!", vbCritical: TextBox9.SetFocus: TextBox9 = Empty: Exit For NextEnd Sub
Подсказку получила. Но до конца я код не наладил - у меня почему-то сетфокус не отрабатывает - при старте всё ОК, на восьмой текстбокс становится, а вот вернуть на девятый до или после его очистки никак не могу...