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

Вход

Регистрация

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

 

= Мир MS Excel/Запись данных не в ту ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись данных не в ту ячейку (Макросы/Sub)
Запись данных не в ту ячейку
lebensvoll Дата: Четверг, 28.07.2016, 12:57 | Сообщение № 1
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Добрый день уважаемые форумчане!!!
Не могу понять почему после того как оператор вносит данные на UserForm2 и после нажатии кнопки внести данные ((((( данные записываются не в таблицу (((( а под таблицей (((
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
менял тут цифру по разному (((( [vba]
Код
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
[/vba]
К сообщению приложен файл: _--2.xlsb (72.2 Kb)


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

Сообщение отредактировал lebensvoll - Четверг, 28.07.2016, 12:58
 
Ответить
СообщениеДобрый день уважаемые форумчане!!!
Не могу понять почему после того как оператор вносит данные на UserForm2 и после нажатии кнопки внести данные ((((( данные записываются не в таблицу (((( а под таблицей (((
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
менял тут цифру по разному (((( [vba]
Код
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
[/vba]

Автор - lebensvoll
Дата добавления - 28.07.2016 в 12:57
_Boroda_ Дата: Четверг, 28.07.2016, 13:06 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
менял тут цифру по разному ((((

Плохо менял. нужно одну из этих - 1,3,4,5
Только желтую строку предварительно стереть нужно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
менял тут цифру по разному ((((

Плохо менял. нужно одну из этих - 1,3,4,5
Только желтую строку предварительно стереть нужно

Автор - _Boroda_
Дата добавления - 28.07.2016 в 13:06
lebensvoll Дата: Четверг, 28.07.2016, 13:12 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, понял вас сейчас попробуем


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщение_Boroda_, понял вас сейчас попробуем

Автор - lebensvoll
Дата добавления - 28.07.2016 в 13:12
lebensvoll Дата: Четверг, 28.07.2016, 13:23 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, чет я все эти числа перебрал (((( и попадаю либо в желтую ячейку либо в 5 строку (((( предварительно я
Цитата
Только желтую строку предварительно стереть нужно


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщение_Boroda_, чет я все эти числа перебрал (((( и попадаю либо в желтую ячейку либо в 5 строку (((( предварительно я
Цитата
Только желтую строку предварительно стереть нужно

Автор - lebensvoll
Дата добавления - 28.07.2016 в 13:23
RAN Дата: Четверг, 28.07.2016, 13:28 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
почему

потому
[vba]
Код
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
почему

потому
[vba]
Код
LastRow = Cells(Rows.Count, 6).End(xlUp).Row
[/vba]

Автор - RAN
Дата добавления - 28.07.2016 в 13:28
_Boroda_ Дата: Четверг, 28.07.2016, 13:29 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Конечно. Объединенные ячейки - зло.
Вот это
Cells(Rows.Count, 1).End(xlUp)
для столбца 1 даст нам ячейку А4, ячейка А5 - объединенная - ее не считаем. Что сделать нужно? Самое простое - прибавить единичку
[vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row+1
[/vba]
или считать по тому столбцу, где заполнена строка 5 и не заполнены все ячейки ниже пятой строки


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКонечно. Объединенные ячейки - зло.
Вот это
Cells(Rows.Count, 1).End(xlUp)
для столбца 1 даст нам ячейку А4, ячейка А5 - объединенная - ее не считаем. Что сделать нужно? Самое простое - прибавить единичку
[vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row+1
[/vba]
или считать по тому столбцу, где заполнена строка 5 и не заполнены все ячейки ниже пятой строки

Автор - _Boroda_
Дата добавления - 28.07.2016 в 13:29
lebensvoll Дата: Четверг, 28.07.2016, 13:35 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, RAN, СПАСИБО!!!
Я думал что объединение ЗЛО только для сводных таблиц (((( а для макросов это не БЕДА.
Еще раз спасибо за помощь и подсказки


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщение_Boroda_, RAN, СПАСИБО!!!
Я думал что объединение ЗЛО только для сводных таблиц (((( а для макросов это не БЕДА.
Еще раз спасибо за помощь и подсказки

Автор - lebensvoll
Дата добавления - 28.07.2016 в 13:35
RAN Дата: Четверг, 28.07.2016, 14:24 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
прибавить единичку

Вообще-то это надо делать не для того, чтобы попасть в таблицу, а для того, чтобы добавить строку под данными.
А в столбце 6 на листе последняя строка с данными 23. Под нее и добавляет.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
прибавить единичку

Вообще-то это надо делать не для того, чтобы попасть в таблицу, а для того, чтобы добавить строку под данными.
А в столбце 6 на листе последняя строка с данными 23. Под нее и добавляет.

Автор - RAN
Дата добавления - 28.07.2016 в 14:24
lebensvoll Дата: Четверг, 28.07.2016, 17:40 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, вы правы :( я первую запись добавил так получилось!!!
Потом прочел ваше сообщение
Цитата
Вообще-то это надо делать не для того, чтобы попасть в таблицу, а для того, чтобы добавить строку под данными.

И получается вот так вот (((((
[img][/img]
А зачем мне пустая строка между записями ((((( а как ее избежать.
Понимаю что ОБЪЕДИНЕНИЕ ЭТО ЗЛО но без этого мне ни как????


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, вы правы :( я первую запись добавил так получилось!!!
Потом прочел ваше сообщение
Цитата
Вообще-то это надо делать не для того, чтобы попасть в таблицу, а для того, чтобы добавить строку под данными.

И получается вот так вот (((((
[img][/img]
А зачем мне пустая строка между записями ((((( а как ее избежать.
Понимаю что ОБЪЕДИНЕНИЕ ЭТО ЗЛО но без этого мне ни как????

Автор - lebensvoll
Дата добавления - 28.07.2016 в 17:40
RAN Дата: Четверг, 28.07.2016, 18:56 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Если А меньше Б, значит А равно Б.
Думайте.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЕсли А меньше Б, значит А равно Б.
Думайте.

Автор - RAN
Дата добавления - 28.07.2016 в 18:56
lebensvoll Дата: Четверг, 28.07.2016, 21:43 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, честно сказать я вас не понял %)
Цитата
Если А меньше Б, значит А равно Б.

хотя и
Цитата
Думайте.
делал это пытался и с объединенными ячейками поиграть разбить их. И значения менял строк и + выставлял (((( но результатов так и не достиг (((
Намекните более понятливее пожалуйста. Если же нужно (процедуру какую добавить) то я точно не соображу в них я вообще не соображаю (((( как в принципе и в макросах :'( .


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, честно сказать я вас не понял %)
Цитата
Если А меньше Б, значит А равно Б.

хотя и
Цитата
Думайте.
делал это пытался и с объединенными ячейками поиграть разбить их. И значения менял строк и + выставлял (((( но результатов так и не достиг (((
Намекните более понятливее пожалуйста. Если же нужно (процедуру какую добавить) то я точно не соображу в них я вообще не соображаю (((( как в принципе и в макросах :'( .

Автор - lebensvoll
Дата добавления - 28.07.2016 в 21:43
RAN Дата: Четверг, 28.07.2016, 23:34 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
lebensvoll, до тех пор, пока вы не превратите мою фразу в строку кода, и не выложите здесь код с правильно вставленной строкой, я отвечать прекращаю.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеlebensvoll, до тех пор, пока вы не превратите мою фразу в строку кода, и не выложите здесь код с правильно вставленной строкой, я отвечать прекращаю.

Автор - RAN
Дата добавления - 28.07.2016 в 23:34
krosav4ig Дата: Пятница, 29.07.2016, 03:12 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
меньше Б

lebensvoll, а буковка-то даже внешне похожа на цифру которая там должна быть


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
меньше Б

lebensvoll, а буковка-то даже внешне похожа на цифру которая там должна быть

Автор - krosav4ig
Дата добавления - 29.07.2016 в 03:12
alex77755 Дата: Пятница, 29.07.2016, 03:25 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

так попробуй
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Пятница, 29.07.2016, 03:26
 
Ответить
Сообщениетак попробуй
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]

Автор - alex77755
Дата добавления - 29.07.2016 в 03:25
lebensvoll Дата: Пятница, 29.07.2016, 09:29 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, вот честно сказать я бы ни как бы не догадался что нужно сделать вот так вот
Цитата
Range("A4")

[vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row+1
[/vba]
Я думал за
Цитата
Cells(Rows.Count=Ячеек(Строк.Граф
то что если тут изменить строку на "столбец" а в предложенном варианте alex77755, использует
Цитата
Range=Диапазон

В виду того что я не знаю как их прописывать грамотно (((((


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, вот честно сказать я бы ни как бы не догадался что нужно сделать вот так вот
Цитата
Range("A4")

[vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row+1
[/vba]
Я думал за
Цитата
Cells(Rows.Count=Ячеек(Строк.Граф
то что если тут изменить строку на "столбец" а в предложенном варианте alex77755, использует
Цитата
Range=Диапазон

В виду того что я не знаю как их прописывать грамотно (((((

Автор - lebensvoll
Дата добавления - 29.07.2016 в 09:29
lebensvoll Дата: Пятница, 29.07.2016, 09:43 | Сообщение № 16
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
alex77755, есть в вашем коде правильный ход действий
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]
Но последующие записи он вносит вот так вот
[img][/img]


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеalex77755, есть в вашем коде правильный ход действий
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]
Но последующие записи он вносит вот так вот
[img][/img]

Автор - lebensvoll
Дата добавления - 29.07.2016 в 09:43
sboy Дата: Пятница, 29.07.2016, 09:59 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
И снова здравствуйте :)
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Журнал заявок"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 17).End(xlUp).Row
If LastRow = 2 Then LastRow = 5
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]


Яндекс: 410016850021169
 
Ответить
СообщениеИ снова здравствуйте :)
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Журнал заявок"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 17).End(xlUp).Row
If LastRow = 2 Then LastRow = 5
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]

Автор - sboy
Дата добавления - 29.07.2016 в 09:59
lebensvoll Дата: Пятница, 29.07.2016, 10:47 | Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
sboy, Доброе утро!!!
НЕТ (((( тож мимо ((((
данный код прописывает данные в строку 2 :'(


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеsboy, Доброе утро!!!
НЕТ (((( тож мимо ((((
данный код прописывает данные в строку 2 :'(

Автор - lebensvoll
Дата добавления - 29.07.2016 в 10:47
lebensvoll Дата: Пятница, 29.07.2016, 11:00 | Сообщение № 19
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
sboy, вот этот код он точно работает как нужно
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
Но вот с последующими он прописывает их через одну строку :(
Код который мне предложил alex77755, то же работает на ура :hands:
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]
Но последующие записи он прописывает (смотрите скрин в посте №16)
Ваш код сразу не попал в цель (((((( он его прописывает во вторую строку ((((


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

Сообщение отредактировал lebensvoll - Пятница, 29.07.2016, 11:01
 
Ответить
Сообщениеsboy, вот этот код он точно работает как нужно
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
Но вот с последующими он прописывает их через одну строку :(
Код который мне предложил alex77755, то же работает на ура :hands:
[vba]
Код
LastRow = Range("A4").CurrentRegion.Rows.Count
[/vba]
Но последующие записи он прописывает (смотрите скрин в посте №16)
Ваш код сразу не попал в цель (((((( он его прописывает во вторую строку ((((

Автор - lebensvoll
Дата добавления - 29.07.2016 в 11:00
lebensvoll Дата: Пятница, 29.07.2016, 11:15 | Сообщение № 20
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Либо вот этот код от alex77755,
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Range("A5").CurrentRegion.Rows.Count
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
Но он последующую запись прописывает под таблицей
Либо же этот код
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
Unload Me
End Sub
[/vba]
но он также последующие записи прописывает через пустую ячейку (((


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеЛибо вот этот код от alex77755,
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Range("A5").CurrentRegion.Rows.Count
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
   Unload Me
End Sub
[/vba]
Но он последующую запись прописывает под таблицей
Либо же этот код
[vba]
Код
Private Sub Butt_ok_Click() 'Данный код для записи данных в нужные нам ячейки в таблицу на листе "Заявка МТ-1 для печати"
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
If TextBox1.Value <> "" Then Cells(LastRow + 1, 1) = TextBox1.Value
If TextBox3.Value <> "" Then Cells(LastRow + 1, 17) = TextBox3.Value
If ComboBox1.Value <> "" Then Cells(LastRow + 1, 2) = ComboBox1.Value
If ComboBox2.Value <> "" Then Cells(LastRow + 1, 3) = ComboBox2.Value
If ComboBox3.Value <> "" Then Cells(LastRow + 1, 4) = ComboBox3.Value
If ComboBox4.Value <> "" Then Cells(LastRow + 1, 5) = ComboBox4.Value
If TextBox2.Value <> "" Then Cells(LastRow + 1, 6) = TextBox2.Value
If TextBox4.Value <> "" Then Cells(LastRow + 1, 8) = TextBox4.Value
Unload Me
End Sub
[/vba]
но он также последующие записи прописывает через пустую ячейку (((

Автор - lebensvoll
Дата добавления - 29.07.2016 в 11:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись данных не в ту ячейку (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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