2015-10-21 2 views
0

Я хочу код, который делает следующее: , если последние 5 символов текстового значения в ячейке в столбце E являются «(UK)», тогда макрос копирует диапазон, состоящий из 4 ячеек в столбцах B, C, D, E в одной и той же строке, и пасты ниже последней непустой строки на листе «Лист 1» в тех же столбцах (поэтому все диапазоны BE с »(Великобритания) «Должны быть перенесены на лист« Лист1 »);VBA - скопируйте диапазон в некоторых ячейках и отобразите их на другом листе

+1

Это не тот код для этого сайта. Этот сайт предназначен для исправления неисправного кода. Укажите код, который вы пробовали. – deathismyfriend

+0

Я чувствую, что этот вопрос задается один раз в неделю. XD – findwindow

+0

На следующем веб-сайте вы можете начать работу, если хотите сами его закодировать: http://www.homeandlearn.org/. В противном случае вы можете нанять кого-то, чтобы запрограммировать его для вас здесь: http://careers.stackoverflow.com/employer – Ralph

ответ

0

Я просто отправляю свой код. Надежда @ Джонатан узнает об этом.

Sub CopyC() 

    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim sheet1lastrow As Long 
    Dim lastrow As Long 

    Set wb = ThisWorkbook 
    Set ws = wb.Worksheets("sheet1") 

    lastrow = ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row 
    sheet1lastrow = ws.Range("E" & Rows.Count).End(xlUp).Row 



    For i = 1 To lastrow 
     If Right(ActiveSheet.Cells(i, 5).Value, 5) = "(UK)" Then 
      ActiveSheet.Range(Cells(i, 2), Cells(i, 5)).Copy 
      ws.Cells(sheet1lastrow + 1, 2).PasteSpecial xlValues 
      Application.CutCopyMode = False 
      Application.CutCopyMode = True 
     End If 
    Next 


End Sub 
+0

Большое вам спасибо. Я это выучу – Jonathan