Здравствуйте уважаемые гуру Excel. Прошу помощи от ваших светлых голов. Для вас может быть моя задача будет элементарной, но для меня, знакомого с макросами 3-й день - это пока сложновато.... Итак задача такая: есть документ со списком файл "база" в столбце R есть маркер которым отмечается строка, и кнопка "переместить". Необходимо, чтобы по нажатию кнопки "переместить" значения отмеченной маркером строки скопировалась в книгу "склад" в ячейку A1, но на лист в зависимости от значения в ячейке "E" копируемой строки. (т.е. если в ячейке "Е" копируемой строки стоит значение "склад-1", то эта строка копируется в лист "Склад-1", а если "Склад -4" - то в лист "Склад-4". При повторном копировании в один и тот же лист - строки заменяются. Надеюсь понятно изложил.... Если можно с комментариями , хочу понять что как делается.....
да приблизительно так - СПАСИБО , только перенос строки необходимо было сделать через кнопку, а не постоянным при изменении положения маркера ... Еще бы понять что за что отвечает , чтоб переделать.... Будем разбираться.... Еще раз спасибо за помощь.
Public Sub www()
Dim tg As Range
Set tg = Range("R2:R40").Find("a", , , 1)
If tg Is Nothing Then Exit Sub
With GetObject(ThisWorkbook.Path & "\склад.xlsm")
Cells(tg.Row, 1).Resize(, 17).Copy .Sheets(Cells(tg.Row, 5).Value).[a1]
Windows(.Name).Visible = -1
.Close -1
End With
End Sub
а еще подскажите пожалуйста как сделать в вышестоящем макросе так , чтобы после каждого копирования управление передавалось бы на тот лист куда было произведено копирование для последующего ввода данных....(напр в ячейку A3)
Public Sub www()
Dim tg As Range
Set tg = Range("R2:R40").Find("a", , , 1)
If tg Is Nothing Then Exit Sub
With GetObject(ThisWorkbook.Path & "\склад.xlsm")
Cells(tg.Row, 1).Resize(, 17).Copy .Sheets(Cells(tg.Row, 5).Value).[a1]
Windows(.Name).Visible = -1
Workbooks("склад.xlsm").Activate
Sheets(Cells(tg.Row, 5).Value).[a3]
End With
End Sub
Вставил в код, но получилось, что переходит не на скопированный лист, а на последний активный лист книги "склад.xlsm" , поправьте пожалуйста.....