Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ввод данных и окно уведомления - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ввод данных и окно уведомления (Макросы Sub)
Ввод данных и окно уведомления
bagdad1984 Дата: Вторник, 05.11.2013, 10:10 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Уважаемые профи своего дела!

Начал делать форму для своего отдела, остановился на таких моментах, которые никак не могу осилить:

1. на листе INT.TR.LOG FORM есть два блока, каждый по отдельности должны вноситься в список на странице INT.TR.LOG на определенных этапах, то есть второй блок - это последовательное продолжение первого, у меня получается каждый блок попадает в разные ряды, то есть второй блок ниже первого.

2. на том же лисет INT.TR.LOG FORM при нажатии кнопки "внести данные" при незаполненных полях на лист с таблицей попадает пустой ряд, надо чтоб при нажатии на кнопку "внести данные" при пустых полях появилось уведомление о том, что какое то поле не заполнено.

Спасибо заранее за любую помощь.
Багдад.
К сообщению приложен файл: TRANLSATIONS_LO.xlsm (54.5 Kb)
 
Ответить
СообщениеУважаемые профи своего дела!

Начал делать форму для своего отдела, остановился на таких моментах, которые никак не могу осилить:

1. на листе INT.TR.LOG FORM есть два блока, каждый по отдельности должны вноситься в список на странице INT.TR.LOG на определенных этапах, то есть второй блок - это последовательное продолжение первого, у меня получается каждый блок попадает в разные ряды, то есть второй блок ниже первого.

2. на том же лисет INT.TR.LOG FORM при нажатии кнопки "внести данные" при незаполненных полях на лист с таблицей попадает пустой ряд, надо чтоб при нажатии на кнопку "внести данные" при пустых полях появилось уведомление о том, что какое то поле не заполнено.

Спасибо заранее за любую помощь.
Багдад.

Автор - bagdad1984
Дата добавления - 05.11.2013 в 10:10
SkyPro Дата: Вторник, 05.11.2013, 12:00 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
В процедуру добавления данных встроить проверку:
[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


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Вторник, 05.11.2013, 12:01
 
Ответить
СообщениеВ процедуру добавления данных встроить проверку:
[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

Автор - SkyPro
Дата добавления - 05.11.2013 в 12:00
bagdad1984 Дата: Вторник, 05.11.2013, 13:57 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Спасибо большое, SkyPro, очень помогли со вторым вопросом.

Помогите кто нибудь с пунктом 1.

Примного благодарен заранее.
 
Ответить
СообщениеСпасибо большое, SkyPro, очень помогли со вторым вопросом.

Помогите кто нибудь с пунктом 1.

Примного благодарен заранее.

Автор - bagdad1984
Дата добавления - 05.11.2013 в 13:57
Wasilich Дата: Вторник, 05.11.2013, 14:39 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Помогите кто нибудь с пунктом 1.
Так Вы же блоки вносите разными кнопками и разными циклами, а Ищете последнюю строку в обоих случаях во втором столбце
[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]
Код
   iRow = Range("B" & Rows.Count).End(xlUp).Row
       iRow = Cells(Rows.Count, 2).End(xlUp).Row
[/vba]
И вообще, вносите оба блока одной кнопкой. Иначе будет путаница.
Да и все ваши коды имеют право на сокращение.
Тренируйтесь. :)


Сообщение отредактировал Wasilic - Вторник, 05.11.2013, 14:50
 
Ответить
Сообщение
Помогите кто нибудь с пунктом 1.
Так Вы же блоки вносите разными кнопками и разными циклами, а Ищете последнюю строку в обоих случаях во втором столбце
[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]
Код
   iRow = Range("B" & Rows.Count).End(xlUp).Row
       iRow = Cells(Rows.Count, 2).End(xlUp).Row
[/vba]
И вообще, вносите оба блока одной кнопкой. Иначе будет путаница.
Да и все ваши коды имеют право на сокращение.
Тренируйтесь. :)

Автор - Wasilich
Дата добавления - 05.11.2013 в 14:39
bagdad1984 Дата: Вторник, 05.11.2013, 16:22 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Wasilic, спасибо за прояснение. Просто я рядовой переводчик, который к программированию никакого отношения не имеет, но имеет энтузиазм разработать автоматизированный журнал для регистрации переведенных документов, и поэтому мне немного с трудом дается данное ремесло. И все же маленькими шажками может и просветлюсь на какую то долю )).
 
Ответить
СообщениеWasilic, спасибо за прояснение. Просто я рядовой переводчик, который к программированию никакого отношения не имеет, но имеет энтузиазм разработать автоматизированный журнал для регистрации переведенных документов, и поэтому мне немного с трудом дается данное ремесло. И все же маленькими шажками может и просветлюсь на какую то долю )).

Автор - bagdad1984
Дата добавления - 05.11.2013 в 16:22
AlexM Дата: Вторник, 05.11.2013, 16:28 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
при пустых полях появилось уведомление о том, что какое то поле не заполнено

можно так
[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]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 05.11.2013, 16:30
 
Ответить
Сообщение
при пустых полях появилось уведомление о том, что какое то поле не заполнено

можно так
[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]

Автор - AlexM
Дата добавления - 05.11.2013 в 16:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ввод данных и окно уведомления (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!