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

Вход

Регистрация

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

 

= Мир MS Excel/При добавлении данных прописать "тонн" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении данных прописать "тонн" (Макросы/Sub)
При добавлении данных прописать "тонн"
lebensvoll Дата: Понедельник, 01.08.2016, 10:21 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Доброе утро, много уважаемые форумчане!!!
Прошу вас помочь меня подправить. Через запись макроса записал макрос, но его потом перенес на UserForm (который срабатывает на одну ячейку, только)... Как мне сделать чтоб при каждом добавлении данных на лист "Заявки МТ-1" добавлялась запись "Тонн"
[vba]
Код

Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    If LastRow < 6 Then LastRow = 6 'Если А меньше Б, значит А равно Б.
    If TextBox1.Value <> "" Then Cells(LastRow, 1) = TextBox1.Value
    If TextBox3.Value <> "" Then Cells(LastRow, 17) = TextBox3.Value
    If ComboBox1.Value <> "" Then Cells(LastRow, 2) = ComboBox1.Value
    If ComboBox2.Value <> "" Then Cells(LastRow, 3) = ComboBox2.Value
    If ComboBox3.Value <> "" Then Cells(LastRow, 4) = ComboBox3.Value
    If ComboBox4.Value <> "" Then Cells(LastRow, 5) = ComboBox4.Value
    If TextBox2.Value <> "" Then Cells(LastRow, 6) = TextBox2.Value
    If TextBox4.Value <> "" Then Cells(LastRow, 8) = TextBox4.Value
    If TextBox5.Value <> "" Then Cells(LastRow, 16) = TextBox5.Value
    
' При добавлении записи данных в диапозоне  G6:G17 добавлялось слово тонн
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
    Range("G7").Select
    Unload Me
End Sub
[/vba]
Или же мне тут:
[vba]
Код
' При добавлении записи данных в диапозоне  G6:G17 добавлялось слово тонн
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
    Range("G7").Select
    Unload Me
[/vba]
Указать диапазоны а не ячейку :( ???


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДоброе утро, много уважаемые форумчане!!!
Прошу вас помочь меня подправить. Через запись макроса записал макрос, но его потом перенес на UserForm (который срабатывает на одну ячейку, только)... Как мне сделать чтоб при каждом добавлении данных на лист "Заявки МТ-1" добавлялась запись "Тонн"
[vba]
Код

Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    If LastRow < 6 Then LastRow = 6 'Если А меньше Б, значит А равно Б.
    If TextBox1.Value <> "" Then Cells(LastRow, 1) = TextBox1.Value
    If TextBox3.Value <> "" Then Cells(LastRow, 17) = TextBox3.Value
    If ComboBox1.Value <> "" Then Cells(LastRow, 2) = ComboBox1.Value
    If ComboBox2.Value <> "" Then Cells(LastRow, 3) = ComboBox2.Value
    If ComboBox3.Value <> "" Then Cells(LastRow, 4) = ComboBox3.Value
    If ComboBox4.Value <> "" Then Cells(LastRow, 5) = ComboBox4.Value
    If TextBox2.Value <> "" Then Cells(LastRow, 6) = TextBox2.Value
    If TextBox4.Value <> "" Then Cells(LastRow, 8) = TextBox4.Value
    If TextBox5.Value <> "" Then Cells(LastRow, 16) = TextBox5.Value
    
' При добавлении записи данных в диапозоне  G6:G17 добавлялось слово тонн
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
    Range("G7").Select
    Unload Me
End Sub
[/vba]
Или же мне тут:
[vba]
Код
' При добавлении записи данных в диапозоне  G6:G17 добавлялось слово тонн
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
    Range("G7").Select
    Unload Me
[/vba]
Указать диапазоны а не ячейку :( ???

Автор - lebensvoll
Дата добавления - 01.08.2016 в 10:21
sboy Дата: Понедельник, 01.08.2016, 10:29 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Добавляйте сразу при переносе данных с формы, например
[vba]
Код
If TextBox2.Value <> "" Then Cells(LastRow, 6) = TextBox2.Value & " тонн"
[/vba]
 
Ответить
СообщениеДобрый день.
Добавляйте сразу при переносе данных с формы, например
[vba]
Код
If TextBox2.Value <> "" Then Cells(LastRow, 6) = TextBox2.Value & " тонн"
[/vba]

Автор - sboy
Дата добавления - 01.08.2016 в 10:29
lebensvoll Дата: Понедельник, 01.08.2016, 11:00 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
sboy, Добрый день!!!
Вы немного не поняли (((( на форме нет под данную запись TextBox (((( я хотел чтоб когда добавлялась запись данных в таблиц ув диапозоне G6:G17 прописывалась автоматом (или добавлялась запись также "тонн")
Вот смотрите файл я его выделил желтым цветом ячеку. В первый раз она сработала в виду того что в коде указано
[vba]
Код
Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
[/vba]
А вот в последующей записе (при добавлении) она уже не прописывается (((
Поэтому я думаю может мне диапазоны должен прописать ((((
К сообщению приложен файл: _--3.xlsb(90Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Понедельник, 01.08.2016, 11:00
 
Ответить
Сообщениеsboy, Добрый день!!!
Вы немного не поняли (((( на форме нет под данную запись TextBox (((( я хотел чтоб когда добавлялась запись данных в таблиц ув диапозоне G6:G17 прописывалась автоматом (или добавлялась запись также "тонн")
Вот смотрите файл я его выделил желтым цветом ячеку. В первый раз она сработала в виду того что в коде указано
[vba]
Код
Range("G6").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",""тонн"")"
[/vba]
А вот в последующей записе (при добавлении) она уже не прописывается (((
Поэтому я думаю может мне диапазоны должен прописать ((((

Автор - lebensvoll
Дата добавления - 01.08.2016 в 11:00
sboy Дата: Понедельник, 01.08.2016, 11:23 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
lebensvoll, зачем вы себе жизнь усложняете)))
вариант 1 (формула). Берете свою формулу и протягиваете по всему диапазону, макрос тут не нужен (ячейки можно защитить, чтоб формулу не стерли пользователи).

вариант 2 (макрос). Т.к. тонны у вас (как я понял) всегда, то добавляйте " тонн" при записи строки из формы
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    If LastRow < 6 Then LastRow = 6 'Если А меньше Б, значит А равно Б.
    Cells(LastRow,7).Value = " тонн"
    If TextBox1.Value <> "" Then Cells(LastRow, 1) = TextBox1.Value
    If TextBox3.Value <> "" Then Cells(LastRow, 17) = TextBox3.Value
...
[/vba]
 
Ответить
Сообщениеlebensvoll, зачем вы себе жизнь усложняете)))
вариант 1 (формула). Берете свою формулу и протягиваете по всему диапазону, макрос тут не нужен (ячейки можно защитить, чтоб формулу не стерли пользователи).

вариант 2 (макрос). Т.к. тонны у вас (как я понял) всегда, то добавляйте " тонн" при записи строки из формы
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    If LastRow < 6 Then LastRow = 6 'Если А меньше Б, значит А равно Б.
    Cells(LastRow,7).Value = " тонн"
    If TextBox1.Value <> "" Then Cells(LastRow, 1) = TextBox1.Value
    If TextBox3.Value <> "" Then Cells(LastRow, 17) = TextBox3.Value
...
[/vba]

Автор - sboy
Дата добавления - 01.08.2016 в 11:23
lebensvoll Дата: Понедельник, 01.08.2016, 11:27 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
sboy,
Цитата
lebensvoll, зачем вы себе жизнь усложняете)))

Я просто думал что я его запишу через макрос и потом данный код скопирую и перенесу в код на UserForm а макрос удалю.
Но получилась как бы не АЙС ((((
Просто я наверное уже надоел ВСЕМ что создаю темы. Где для кого то это просто элементарные вещи (((( а для меня это просто :'(


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеsboy,
Цитата
lebensvoll, зачем вы себе жизнь усложняете)))

Я просто думал что я его запишу через макрос и потом данный код скопирую и перенесу в код на UserForm а макрос удалю.
Но получилась как бы не АЙС ((((
Просто я наверное уже надоел ВСЕМ что создаю темы. Где для кого то это просто элементарные вещи (((( а для меня это просто :'(

Автор - lebensvoll
Дата добавления - 01.08.2016 в 11:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При добавлении данных прописать "тонн" (Макросы/Sub)
Страница 1 из 11
Поиск:

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