Страницы: 1
RSS
Макрос что бы не писать в ячейку
 
Добрый день друзья!  
Будьте добры помогите написать макрос.  
 
Вылетает окно  
Он меня просит введите наименование - вводим и оно идёт в А1  
Жмём далее  
Следующее окно введите сумму  
Вводим и она идёт в А2.  
 
Для Вас я думаю это будет раз плюнуть,а для меня база для изучения макроса.  
 
Большое спасибо
 
раз и плюнули  
воспользуютесь поиском
 
{quote}{login=}{date=30.03.2010 01:04}{thema=Макрос что бы не писать в ячейку}{post}Добрый день друзья!  
Будьте добры помогите написать макрос.  
 
Вылетает окно  
Он меня просит введите наименование - вводим и оно идёт в А1  
Жмём далее  
Следующее окно введите сумму  
Вводим и она идёт в А2.  
 
Для Вас я думаю это будет раз плюнуть,а для меня база для изучения макроса.  
 
Большое спасибо{/post}{/quote}  
a=inputbox("Введите наименование","Вопрос номер 1")  
range("A1").select  
activecell.value=a  
дальше то же самое но переменная вместо а другая и текст в inputbox - другой.  
адрес ячейки - тоже другой.
 
Sub Ввод()  
  Range("A1").Value = InputBox("Введите наименование", "Вопрос номер 1")  
  Range("A2").Value = InputBox("Введите сумму", "Вопрос номер 2")  
End Sub
 
а как сделать так если у меня уже набито несколько таких строк и в следующий раз надо что бы он начинал со следующей
 
Sub Ввод()  
Dim rng As Range  
Set rng = Range("A" & Cells(Rows.Count, "A").End(xlUp).Row)  
rng.Offset(1, 0).Value = InputBox("Введите наименование", "Вопрос номер 1")  
rng.Offset(2, 0).Value = InputBox("Введите сумму", "Вопрос номер 2")  
End Sub
 
Предпоследнюю строку надо изменить, раз там у нас сумма:  
rng.Offset(2, 0).Value = CDbl(InputBox("Введите сумму", "Вопрос номер 2"))
 
скажите пожалуйста что задаёт rng.Offset(2, 0). ну я понимаю что координаты. но почему работает так как надо? в чём логика?
 
rng.Offset(2, 0) - смещение относительно rng на 2 строки вниз и 0 столбцов вправо.
 
понял спасибо, а вот это?  
 
Set rng = Range("A" & Cells(Rows.Count, "A").End(xlUp).Row)  
 
Установить для переменной rng диапазон столбец А и сцепляет с... а дальше можете перевести?
 
Cells - все ячейки рабочего листа  
Cells.Rows.Count - кол-во строк на листе (1048576 для Е2007)  
"A" - столбец  
Cells(Rows.Count, "A") - последняя ячейка в столбце А (А1048576)  
End(xlUp) - подобно Ctrl+стрелка вверх, получаем последнюю непустую ячейку  
Cells(Rows.Count, "A").End(xlUp).Row - номер строки последней непустой ячейки в А  
Range("A" & ...) - последняя непустая ячейка в А
 
Большое Вам спасибо уважаемый Nilem!!! Вы мне очень помогли, спасибо за объяснение
Страницы: 1
Читают тему
Наверх