2015-11-14 4 views
0

У меня есть столбец «ID», начиная с колонки С3 в sheet1, где все идентификаторы перечислены с интервалом в 4 пустых ячеек между каждым уникальным идентификатором, как показано нижекопия вставить один одиночное значение несколько раз на другой лист

enter image description here

Я хочу, чтобы скопировать идентификаторы и вставить его на Лист2 в пять раз, как показано ниже

enter image description here

может кто-нибудь sugggest, как я могу получить это автоматизировано с помощью VBA

+1

В вашем рассказе указано, что идентификаторы начинаются с C3, но ваше изображение показывает их, начиная с строки Row1. Учитывая это очевидное несоответствие, невозможно определить, где на Sheet2 вы хотите разместить идентификаторы. – Jeeped

+0

..хорошо, что это была честная ошибка, которая начинается в строке 1, многие из них указывают на это. Я хочу, чтобы идентификатор был помещен в «sheet2» B2 ... – MasterBlaster

ответ

1

Положите эту формулу в Лист2! B2,

=vlookup("zzzz", sheet1!C$3:C3, 1) 

Заполните вниз по мере необходимости.

+0

большое спасибо, но мне нужно, чтобы это было выполнено с помощью с помощью кода vba, это очень небольшая часть более простого процесса простоты обработки данных, а табличный результат вреден для остальной части процесса и, следовательно, нужен автоматический процесс для него ..... спасибо – MasterBlaster

0

Попробуйте это:

Sub copyCell() 

    Dim idColumn As String 
    Dim startRow, lastRow, row As Integer 

    Dim sht1, sht2 As Worksheet 

    Set sht1 = Worksheets("Sheet1") 'Setting sheet1 
    Set sht2 = Worksheets("Sheet2") 'Setting sheet1 

    idColumn = "C" 'Setting column id value column 

    startRow = 1 'Setting the start row from sheet 1 

    'Getting the last used row from sheet 1 
    lastRow = sht1.Cells(sht1.Rows.Count, rowColumn).End(xlUp).row 

    For row = startRow To lastRow Step 1 

     'Check Id Value is empty or not 
     If sht1.Range(idColumn & row) <> "" Then 
      'If not empty, set value 
      sht2.Range(idColumn & row) = sht1.Range(idColumn & row) 
     Else 
      'If empty, set value from previous row of sheet 2 
      sht2.Range(idColumn & row) = sht2.Range(idColumn & (row - 1)) 
     End If 

    Next row 

End Sub 

Я уже проверил мой код с вашими данными выборки. Это хорошо работает для меня.

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

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