2013-07-26 3 views
0

Я отчаянно ищу помощь по моему коду VBA. Мой вопрос довольно подробный и конкретный, поэтому я решил представить его в качестве комментария в коде. Если такое поведение делает мой вопрос расплывчатым или неопределенным, polease сообщит мне. Вкратце мой код отображает строку (из книги «FSR»), которая заполняет критерии и вставляет ее в конкретный рабочий лист и конкретную строку (заданную значениями столбцов «P» и «Q» в рабочем листе «FSR»). Мне нужно больше вставить ячейки (и сдвинуть существующие ячейки вниз) в то же место, где мой код вставляет скопированные ячейки, но перед тем, как он вставляет их там. Мне нужно вставить ячейки в столбцы A: J и в строку, заданную значением в столбце «G» в «Рабочий лист» («FSR»). Мне нужно поместить этот новый код в цикл FOR, потому что эта вставка, а также копирование и вставка должны быть закодированы. А теперь код с вопросами в комментариях:Вставка ячеек в рабочий лист и строку, заданные условием

Sub FromSOF() 
Dim Worksheet As Worksheets 
startrow = Worksheets("GUTS").Cells(10, 1) 
endrow = Worksheets("GUTS").Cells(11, 1) 

For x = startrow To endrow 
    If Cells(x, "O").Value = "P" Then 
     Worksheets(Cells(x, "P").Value).Select 'And here is the porblem. This one and three consecutive lines are to insert cells and shift the existing cells down. The cells need to be inserted into the worksheet given by the value in column "P" in Worksheet("FSR") and into the row given by the column "Q" in Worksheet("FSR") 
     Range("A" & Worksheet("FSR").Cells(x, "P").Value, "J" & Worksheet("FSR").Cells(x, "P").Value).Select 
     Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
     Worksheets("FSR").Select 
     Range("E" & x, "H" & x).Copy 
     Worksheets(Cells(x, "P").Value).Cells(Cells(x, "Q").Value, "C").PasteSpecial xlPasteAll 
    End If 
    Next 
End Sub 

Спасибо всех заранее! Я надеюсь, что моя борьба с кодом закончится из-за любезность Withe наилучшими пожеланиями Артур Рутковский

ответ

0

код ниже будет создать и скопировать на него данные:

'Create line 
Worksheets(Worksheets("FSR").Cells(x,"P").Value).Rows(Worksheets("FSR").Cells(x,"Q").Value).EntireRow.Insert 
'Copy data (without clipboard) 
Range("E" & x, "H" & x).Copy Worksheets(Worksheets("FSR").Cells(x,"P").Value).Cells(Worksheets("FSR").Cells(x,"Q").Value,1) 
Смежные вопросы