2010-12-29 2 views
1

Я - это noob, поэтому любая помощь приветствуется. Нужна помощь при написании скрипта, который скопирует столбец A + B и вставляет его в sheet2 несколько раз в соответствии со значением C. См. Пример ниже. Это спасло бы нас от времени. Любая помощь будет принята с благодарностью.Скопируйте пасту с листа 1 на лист 2

Лист1

A  B  C 
1111 aaaa  3 
2222 bbbb  4 
3333 cccc  2 

После Macro

Sheet2

A  B  C 
1111 aaaa  3 
1111 aaaa  3 
1111 aaaa  3 
2222 bbbb  4 
2222 bbbb  4 
2222 bbbb  4 
2222 bbbb  4 
3333 cccc  2 
3333 cccc  2 
+0

LOL. Не уверен, что случилось с моим форматированием. Давайте попробуем это еще раз. Лист1 АВС 1111 AAAA 3 2222 BBBB 4 3333 сссс 2 После Макро Sheet2 ABC 1111 AAAA 3 1111 AAAA 3 1111 AAAA 3 2222 BBBB 4 2222 BBBB 4 2222 BBBB 4 2222 bbbb 4 3333 cccc 2 3333 cccc 2 –

+0

Я обновил форматирование, но вы можете сделать это сами, выбирая текст и нажимая код '{}', но тон над окном редактирования. – jball

ответ

2
Sub MakeNewTable() 

    Dim rCell As Range 
    Dim i As Long 
    Dim rNext As Range 

    'loop through the cells in column A of the source sheet 
    For Each rCell In Sheet1.Range("A1:A3") 
     'loop as many times as the value in column C of the source sheet 
     For i = 1 To rCell.Offset(0, 2).Value 
      'find the next empty cell to write to in the dest sheet 
      Set rNext = Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Offset(1, 0) 
      'copy A and B from source to the dest sheet 
      rCell.Resize(1, 2).Copy rNext.Resize(1, 2) 
     Next i 
    Next rCell 

End Sub 

Вам нужно изменить ссылки листов, чтобы соответствовать вашей ситуации. Ссылки на листы, используемые выше, являются ссылками на Codename. Если вы откроете Project Explorer в VBE (Control + R) и развернете свою проекцию, вы увидите такие объекты, как «Sheet1 (MyTablName)». Часть Sheet1 называется Codename и не изменяется при переименовании листа. Если вы хотите использовать имена вкладок, вы должны использовать что-то вроде

ThisWorkbook.Worksheets("MyTabName").Range("A1:A3") 

Удачи.

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