Страницы: 1
RSS
Как скопировать ячейки между листами с помощью макроса
 
Новое задание, новые проблемы.    
 
Как реализовать с помощью макроса копирование строк между листами. Например на первом листе появляется диалоговое окно "Выберите строку для копирования", а на втором "Выберите место вставки". Притом между листами создаются относительные ссылки, и при изменении значения на первом листе меняется значение на втором.  
Я попытался смастерить вот что, но не работает, может кто подскажет?  
 
Sub Makro7()  
 
' вставляем пустую строку в Накладные  
     
Dim poz As Range, poz1 As Range  
Dim rng As Range, rng1 As Range  
 
Set rng1 = Application.InputBox("Выберите строку куда вставить", Type:=8)  
Set rng = Cells(rng1.Row, 1)  
rng.EntireRow.Insert Shift:=xl  
Cells(rng1.Row - 1, 1).Select  
ActiveCell.Name = "actcll"  
 
' Копируем строку  
 
Sheets("Список").Select  
 
Set poz1 = Application.InputBox("Выберите строку для копирования", Type:=8)  
Set poz = Cells(poz1.Row, 1)  
poz.EntireRow.Copy  
 
' Идем обратно  
 
Sheets("Накладная").Select  
Range("actcll").Activate  
 
' Тут я хотел для каждой ячейки сделать ссылку, но выдает ошибку  
 
With rng  
 
.Cells(0, 1).FormulaR1C1 = "=Normteile!R1C(poz1.Row)"  
.Cells(0, 2).FormulaR1C1 = "=Normteile!R2C(poz1.Row)"  
.Cells(0, 3).FormulaR1C1 = "=Normteile!R3C(poz1.Row)"  
.Cells(0, 4).FormulaR1C1 = "=Normteile!R4C(poz1.Row)"  
 
End With  
 
Application.CutCopyMode = False  
 
 
End Sub
 
вместо  
 
.Cells(0, 1).FormulaR1C1 = "=Normteile!R1C(poz1.Row)"  
 
попробуйте написать  
 
.Cells(0, 1).FormulaR1C1 = "=Normteile!R1C" & poz1.Row
 
Спасибо за совет, получилось вот так  
.Cells(0, 1).FormulaR1C1 = "=Normteile!R" & poz1.Row
Страницы: 1
Читают тему
Наверх
Loading...