Страницы: 1
RSS
Копирование ячеек строки на другой лист в конкретные ячейки
 
Доброго времени суток! Помогите пожалуйста!  
Имеется 2 листа. На 1ом листе-реестр, в котором указаны:[авто, вес брутто, вес нетто, количество]; на 2ом-форма, которую необходимо заполнить.
Задача состоит в том, чтоб указав на 1листе любую ячейку[авто], макрос мог копировать ячейку и рядом находящиеся с ней ячейки[брутто,нетто,кол-во] на 2ой лист, при этом разместив каждое наименование в определенные ячейки.
Т.Е. нужно скопировать любую выбранную строку состоящую из 4 столбцов на 2ой лист, вставив данные каждой ячейки в определенно назначенную ячейку 2ого листа.  
ПРОШУ!!!!! написать болванку макроса, где я мог б сам назначить ячейки(куда нужно вставлять даннные)
 
Выделили первую ячейку, Ctrl+C, перешли на второй лист, Ctrl+V. А остальные ВПР()ом...  
 
Кстати, можете это записать в макрос. Потом первую строку макроса можно будет удалить :)
 
болванка
 
......
 
извиняюсь, что не сделал этого сразу!  
для наглядности прикрепляю файл.  
п.с. выбрав определенное авто(вагон),я нажимая на кнопку(макрос), мог заполнить ячейки выделенные желтым цветом на другом листе  
заранее спасибо!
 
Я предлагаю идти проторенной дорожкой - список проверки ввода в AD15, остальное ВПРом.  
Но номера п/а должны тогда быть все, и уникальные.  
Вероятно формулу в имени "па" можно попроще, ну уж что подобрал...
 
спасибо за вариант!  
просто в момент заполнения, п/а может и не быть.  
его уже после распечатки вписывают от руки.  
 
хотелось, чтобы выбрав вагон, я мог заполнить форму и распечатать, имея те данные, которые будут у меня на тот момент
 
Ну тогда переделывайте вариант k61 - как раз то, что нужно.
 
вы не могли б помочь!  
т.к. я в этом ноль!
 
Чуть подправил вариант k61.
 
Упс, а как заполнять первый лист? :)  
Предлагаю такой вариант:  
 
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   If Target.Count > 1 Or IsEmpty(Target) Then Exit Sub  
   If [A1] = "Z" Then Exit Sub
   If Not Intersect(Target, Columns(5)) Is Nothing Then  
       x = Split("AD15 AE25 AE26 T25 X25 U37 D32 Q37 AF37 AF38")    'указать ячейки получатели  
       y = Split("D E F H J K M J E F") 'указать столбцы отправителя  
       For j = 0 To 9  
           Sheets(2).Range(x(j)) = Cells(Target.Row, y(j))  
       Next j  
       Sheets(2).Select  
       Beep  
   End If  
End Sub  
 
 
Теперь код будет работать тогда, когда в А1 первого листа нет буквы Z/  
Т.е. нужно дополнить ноиера вагонов - сперва в А1 пишите Z, потом дополняете, стираете Z.  
Можно что-то другое в таком ключе придумать...
 
Другой вариант - просто убрать/закомментировать строку  
Sheets(2).Select  
Нехай оно в фоне работает - это не мешает править первый лист.  
Но переключаться на форму будете вручную :)
 
я не успел, да и вариант самый обычный корявый). но раз уж сделал выложу
 
Предлагаю для входа (выхода) в режим редактирования выбрать все ячейки листа1. При этом менять цвет шрифта базы.
 
Alex131313  
В приемах есть точно такой пример, как требуется  
"Заполнение бланков данными из списка (базы данных)"  
 http://www.planetaexcel.ru/tip.php?aid=99
Страницы: 1
Читают тему
Наверх