Я очень благодарен за помощь в поиске правильного подхода к решению моей проблемы.Реорганизация данных с помощью VBA
Я пытаюсь перебрать все рабочие листы (для «Листа 1» и «выхода» за исключение.
Всех вышеуказанных ссылочных листы содержат данные из ячейки A2 в последнюю колонку и последнюю строку. Мне нужно скопировать все (один ниже другого) в ячейке C2 на моем листе «Выход».
Также у меня есть уникальный номер в A1 во всех листах (кроме «Лист 1» и «Выход», который необходимо скопировать в B2 на моем листе «Выход». Трюк (с которым я борюсь), значение A1 необходимо скопировать вниз в B2 на моем листе «Выход» по номеру A2: последняя строка во всех моих зацикленных листах.
Ниже мой код до сих пор:
Sub EveryDayImShufflingData()
Dim ws As Worksheet
Dim PasteSheet As Worksheet
Dim Rng As Range
Dim lRow As Long
Dim lCol As Long
Dim maxRow As Integer
Dim x As String
Set PasteSheet = Worksheets("Output")
Application.ScreenUpdating = False
'Loop through worksheets except "Sheet 1" and "Output"
For Each ws In ActiveWorkbook.Worksheets
If (ws.Name <> "Sheet1") And (ws.Name <> "Output") And (ws.Visible = True) Then
'Select the Worksheet
ws.Select
'With each worksheet
With ws
'Declare variables lRow and lCol
lRow = .Cells(Rows.Count, 1).End(xlUp).Row
lCol = .Cells(2, .Columns.Count).End(xlToLeft).Column
'Set range exc. VIN
Set Rng = .Range(.Cells(2, 1), .Cells(lRow, lCol))
'Paste the range into "Output" worksheet
Rng.Copy
PasteSheet.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
x = .Cells(1, 1).Value
For i = 1 To lRow
PasteSheet.Cells(i, 2).End(xlUp).Offset(1, 0) = x
maxRow = maxRow + 1
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End With
End If
Next ws
End Sub
Любая помощь будет любезно оценили
Спасибо вам Alex P! Работал шармом. –
Если бы я хотел добавить еще один уровень сложности к вашему коду и в ячейке A2 в «Output» - INDEX (A2: A & lastrow) в «Sheet1», MATCH (B2, (B2: B & lastrow, 0) в " Выход ". Как я могу достичь этого и заполнить формулу до последней строки –
Извините B2: B & lastrow in Sheet1 –