Доброе утро, много уважаемые форумчане!!! Прошу вас помочь меня подправить. Через запись макроса записал макрос, но его потом перенес на 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
sboy, Добрый день!!! Вы немного не поняли (((( на форме нет под данную запись TextBox (((( я хотел чтоб когда добавлялась запись данных в таблиц ув диапозоне G6:G17 прописывалась автоматом (или добавлялась запись также "тонн") Вот смотрите файл я его выделил желтым цветом ячеку. В первый раз она сработала в виду того что в коде указано [vba]
[/vba] А вот в последующей записе (при добавлении) она уже не прописывается ((( Поэтому я думаю может мне диапазоны должен прописать ((((
sboy, Добрый день!!! Вы немного не поняли (((( на форме нет под данную запись TextBox (((( я хотел чтоб когда добавлялась запись данных в таблиц ув диапозоне G6:G17 прописывалась автоматом (или добавлялась запись также "тонн") Вот смотрите файл я его выделил желтым цветом ячеку. В первый раз она сработала в виду того что в коде указано [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]
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 ...
Я просто думал что я его запишу через макрос и потом данный код скопирую и перенесу в код на UserForm а макрос удалю. Но получилась как бы не АЙС (((( Просто я наверное уже надоел ВСЕМ что создаю темы. Где для кого то это просто элементарные вещи (((( а для меня это просто
sboy,
Цитата
lebensvoll, зачем вы себе жизнь усложняете)))
Я просто думал что я его запишу через макрос и потом данный код скопирую и перенесу в код на UserForm а макрос удалю. Но получилась как бы не АЙС (((( Просто я наверное уже надоел ВСЕМ что создаю темы. Где для кого то это просто элементарные вещи (((( а для меня это просто lebensvoll