Начал делать форму для своего отдела, остановился на таких моментах, которые никак не могу осилить:
1. на листе INT.TR.LOG FORM есть два блока, каждый по отдельности должны вноситься в список на странице INT.TR.LOG на определенных этапах, то есть второй блок - это последовательное продолжение первого, у меня получается каждый блок попадает в разные ряды, то есть второй блок ниже первого.
2. на том же лисет INT.TR.LOG FORM при нажатии кнопки "внести данные" при незаполненных полях на лист с таблицей попадает пустой ряд, надо чтоб при нажатии на кнопку "внести данные" при пустых полях появилось уведомление о том, что какое то поле не заполнено.
Спасибо заранее за любую помощь. Багдад.
Уважаемые профи своего дела!
Начал делать форму для своего отдела, остановился на таких моментах, которые никак не могу осилить:
1. на листе INT.TR.LOG FORM есть два блока, каждый по отдельности должны вноситься в список на странице INT.TR.LOG на определенных этапах, то есть второй блок - это последовательное продолжение первого, у меня получается каждый блок попадает в разные ряды, то есть второй блок ниже первого.
2. на том же лисет INT.TR.LOG FORM при нажатии кнопки "внести данные" при незаполненных полях на лист с таблицей попадает пустой ряд, надо чтоб при нажатии на кнопку "внести данные" при пустых полях появилось уведомление о том, что какое то поле не заполнено.
Спасибо заранее за любую помощь. Багдад.bagdad1984
В процедуру добавления данных встроить проверку: [vba]
Код
Dim i&, rCell As Range For Each rCell In Range("C11,C13,C15,C17,C19,E19,C21,C23,C25,C27") If rCell.Value = "" Then i = i + 1 End If Next If i <> 0 Then MsgBox "Заполнены не все поля" Exit Sub End If
[/vba] И еще: Старайтесь обходиться без обьединения ячеек. Это значительно упростит вам жизнь. Замените их на TextBox\Combobox
В процедуру добавления данных встроить проверку: [vba]
Код
Dim i&, rCell As Range For Each rCell In Range("C11,C13,C15,C17,C19,E19,C21,C23,C25,C27") If rCell.Value = "" Then i = i + 1 End If Next If i <> 0 Then MsgBox "Заполнены не все поля" Exit Sub End If
[/vba] И еще: Старайтесь обходиться без обьединения ячеек. Это значительно упростит вам жизнь. Замените их на TextBox\ComboboxSkyPro
skypro1111@gmail.com
Сообщение отредактировал SkyPro - Вторник, 05.11.2013, 12:01
Так Вы же блоки вносите разными кнопками и разными циклами, а Ищете последнюю строку в обоих случаях во втором столбце [vba]
Код
Row = 3 Do While Sheets("INT.TR.LOG").Cells(Row, 2).Value <> 0 Row = Row + 1 Loop
[/vba]Во втором случае ищИте в столбце 14 [vba]
Код
Do While Sheets("INT.TR.LOG").Cells(Row, 14).Value <> 0
[/vba] И замените имя переменной Row на любое другое, хотя бы на iRow. Для определения последней заполненной строки в определенном столбце есть код [vba]
Так Вы же блоки вносите разными кнопками и разными циклами, а Ищете последнюю строку в обоих случаях во втором столбце [vba]
Код
Row = 3 Do While Sheets("INT.TR.LOG").Cells(Row, 2).Value <> 0 Row = Row + 1 Loop
[/vba]Во втором случае ищИте в столбце 14 [vba]
Код
Do While Sheets("INT.TR.LOG").Cells(Row, 14).Value <> 0
[/vba] И замените имя переменной Row на любое другое, хотя бы на iRow. Для определения последней заполненной строки в определенном столбце есть код [vba]
Wasilic, спасибо за прояснение. Просто я рядовой переводчик, который к программированию никакого отношения не имеет, но имеет энтузиазм разработать автоматизированный журнал для регистрации переведенных документов, и поэтому мне немного с трудом дается данное ремесло. И все же маленькими шажками может и просветлюсь на какую то долю )).
Wasilic, спасибо за прояснение. Просто я рядовой переводчик, который к программированию никакого отношения не имеет, но имеет энтузиазм разработать автоматизированный журнал для регистрации переведенных документов, и поэтому мне немного с трудом дается данное ремесло. И все же маленькими шажками может и просветлюсь на какую то долю )).bagdad1984
при пустых полях появилось уведомление о том, что какое то поле не заполнено
можно так [vba]
Код
Sub Macros() Dim rCell As Range, iStr As String For Each rCell In Range("C11,C13,C15,C17,C19,E19,C21,C23,C25,C27") If rCell.Value = "" Then iStr = iStr & ", " & rCell.Address(0, 0) Next If iStr <> "" Then MsgBox "Не заполнены ячейки - " & Mid(iStr, 3) End Sub
при пустых полях появилось уведомление о том, что какое то поле не заполнено
можно так [vba]
Код
Sub Macros() Dim rCell As Range, iStr As String For Each rCell In Range("C11,C13,C15,C17,C19,E19,C21,C23,C25,C27") If rCell.Value = "" Then iStr = iStr & ", " & rCell.Address(0, 0) Next If iStr <> "" Then MsgBox "Не заполнены ячейки - " & Mid(iStr, 3) End Sub