2014-12-01 8 views
0

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

Я пытаюсь взять ряд ячеек и вставить их в другую часть листа распространения, но в нужном столбце, который я хочу (столбец изменится позже, поэтому я хочу, чтобы он идентифицировал столбец для вставки ячейки в правый ряд)

Пример: возьмите ячейки (A2: A10) и вставьте их в столбец «TTM» D4: D12 ... где я поместил текст TTM в D1 ... позже, TTM может E1, и в этом случае ячейки A2: A10 необходимо переместить в E4: E12 ...

Большое спасибо!

+0

Что вы используете для запуска события? Выпадающий список или кнопка? – peege

ответ

1

Следующая функция может использоваться, чтобы делать то, что вы хотите. Вам нужно будет объяснить, что вызовет этот код, и если вы хотите искать, кроме «Активного листа»

Function Move_Cells() 
Dim iCols As Integer 
Dim i  As Integer 
Dim strKey As String 
Dim iNewCol As Integer 

    strKey = "TTM"  ' Set this to whatever label you want to search row 1 for. 
    iCols = ActiveSheet.UsedRange.Columns.Count   ' Get count of used columns 

    For i = 1 To iCols    ' Find column containing 'TTM' 
     If LCase(Cells(1, i).text) = LCase(strKey) Then  ' ignore case inCASE SoMeBody.... 
      iNewCol = i    ' Save col # containing search keyword 
      Exit For 
     End If 
    Next i 

    'ActiveSheet.Range("A2:A10").Copy  ' Where to copy from 
    'ActiveSheet.Cells(2, iNewCol).PasteSpecial xlPasteValues  ' Paste into new location 
    'Application.CutCopyMode = False 

    ' Try the following instead of the previous copy/paste 
    Range("A2:A10").Select 
    Selection.Copy 
    Cells(2, iNewCol).Select 
    ActiveSheet.Paste 

End Function 
+0

Спасибо за помощь! вторая последняя строка, похоже, дает синтаксическую ошибку –

+0

, какая версия Excel, и какая часть выделена? Я предполагаю, что вы имеете в виду строку «Application.CutCopyMode = False»? Если да, просто прокомментируйте и попробуйте. –

+0

Эта часть является ошибкой: ........ ActiveSheet.Cells (2, iNewCol) .PasteSpecial xlPasteValues ​​«Вставить в новое место ........ Я использую excel excel 2011 v14.1 .. .. спасибо –

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