2016-11-22 2 views
0

Прошу прощения за двусмысленность в вопросе/заявлении, но его легче объяснить мою проблему.Скопируйте значение с одного листа на другой, а затем скопируйте результат обратно на тот же лист в другой колонке

У меня есть инструмент, который я использую для обработки некоторых данных на одном листе моей книги (sheet1). И лист данных, который предусматривает, что данные (sheet2)

В основном я хочу, чтобы каждое значение от Y2:LastRow таблицы данных (sheet2) запускало это значение через инструмент в листе1, затем скопируйте этот результат и вставьте его в ту же строку, но другой столбец (точнее, AQ).

Вот что я пытался до сих пор:

With Worksheets("DataSheet") 

LastRow = .Range("Y" & .Rows.Count).End(xlUp).row 

    For Each cell In Worksheets("DataSheet").Range(Cells(LastRow, 25), Cells(1, 25)) 

    ThisWorkbook.Worksheets("Conversion Tool").Range("A1").Value = cell 
    Sheet1.Range("F14").Copy 
    Sheet2.Range(Cells(LastRow, 43), Cells(2, 43)).PasteSpecial (xlPasteValues) 

    Next 
End With 

Однако, это вставляет значение во все ячейки этого столбца. Я знаю, что, вероятно, есть некоторые базовые исправления, но я все еще с этим справляюсь.

Заранее спасибо.

+0

Запись шагов в качестве источника макросъемки. – xQbert

+0

Sheet2 = "DataSheet"? – tjb1

+0

Да, лист 2 - это техническое описание. И я бы xQbert, но количество строк меняется в зависимости от данных. –

ответ

0

Это должно работать для вас

With Worksheets("DataSheet")  
    LastRow = .Range("Y" & .Rows.Count).End(xlUp).Row 

    For Each Cell In .Range(Cells(LastRow, 25), Cells(1, 25)) 
     ThisWorkbook.Worksheets("Conversion Tool").Range("A1").Value = Cell 
     Sheet1.Range("F14").Copy 
     .Range("AQ" & Cell.Row).PasteSpecial xlPasteValues 
    Next 

End With 

Он принимает строку из ячейки копируются и вводит новое значение в той же строке, но столбце AQ.

+0

Спасибо, что эта работа прекрасна :-). –

+0

вы можете немного очистить свой код, так как вы находитесь внутри 'With Worksheets (« DataSheet »)' вы можете изменить синтаксис 'For'' для каждой ячейки In .Range (ячейки (LastRow, 25), ячейки (1) , 25)). –

Смежные вопросы