Excel VBA Looping Worksheets - PullRequest
       16

Excel VBA Looping Worksheets

0 голосов
/ 19 сентября 2018

VBA новичок здесь.Я пытаюсь написать скрипт для извлечения данных из определенных ячеек на нескольких (~ 250) рабочих листах в главный рабочий лист.Пример: я хочу, чтобы скрипт извлекал данные из ячеек B3: C3, E4, B15: C20 на листе под названием Cand 4, Cand 5, Cand 6 и т. Д.

Я думаю, что у меня есть часть циклаработает правильно, но пропускаю что-то еще.Помогите!У кого-нибудь есть предположение, как будет выглядеть сценарий?Спасибо!

1 Ответ

0 голосов
/ 19 сентября 2018

Вот как я это сделаю.

  1. Создайте новый лист (назовем его Back_End).
  2. На этом листе создайте именованный диапазон (ctrl-F3) всех имен листов, данные которых вы хотите вставить.Давайте назовем его «Sheets_List»
  3. Скопируйте и вставьте данные, используя код (см. Ниже)

Код VBA:

Option Explicit

Sub Copy_Paste_Sheets()

Dim i
Dim Sheet_List As Range
Dim Sheet_List_String As String

For i = 1 To 250 'number of sheets

Set Sheet_List = Range("Sheets_List")
Sheet_List_String = Sheet_List.Cells(i, 1)

'Range 1
Sheets(Sheet_List_String).Range("B3:C3").Copy Sheets("Master").Cells(i,1) 'Destination 1 (i=row, 1=column)
Application.CutCopyMode = False

'Range 2
Sheets(Sheet_List_String).Range("E4").Copy Sheets("Master").Cells(i,1) 'Destination 2 (i=row, 1=column)
Application.CutCopyMode = False

'Range 3
Sheets(Sheet_List_String).Range("B15:C20").Copy Sheets("Master").Cells(i,1) 'Destination 3 (i=row, 1=column)
Application.CutCopyMode = False

Next i

End Sub
...