Я все еще довольно новичок в VBA (обучение работе, исходя из фона JS), и мне нужно немного помочь в этом. Моя цель: прокручивать каждый лист (кроме листа «Сводка», хотя я не уверен, как исключить это из цикла) в книге и копировать A2 на каждом листе, а также последнюю ячейку, содержащую значение в колонку L каждого листа и вставлять их рядом друг с другом в столбцы A и B в «Сводный лист» соответственно. Я не специалист по синтаксису VBA любыми способами, поэтому, если кто-то имеет какой-либо способ реорганизовать это (я знаю, что мне не нужны все методы .select), я был бы признателен. Сейчас я получаю ошибку «неверная или неквалифицированная ссылка» в строке 28. Моя цель - учиться, поэтому, если у вас есть какой-либо вклад, я бы с удовольствием объяснил логику. Благодарю.Простая ошибка скрипта VBA
Sub Macro7()
'
' Macro7 Macro
'
' Keyboard Shortcut: Ctrl+c
Dim ws As Worksheet
Dim lastRow As Integer
Dim summaryRow As Integer
summaryRow = 1
For Each ws In ActiveWorkbook.Worksheets
'Copy item number and paste on Summary Page'
Range("A2").Select
Selection.Copy
Sheets("Summary").Select
Range("A" & summaryRow).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Copy corresponding BOM item # and paste on Summary Page'
ws.Select
lastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
Range("L" & lastRow).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Summary").Select
Range("B" & summaryRow).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
summaryRow = summaryRow + 1
Next ws
End Sub
Вы предируете '.Cells (...' и '.Rows ...' с периодом (например, '.' или * полная остановка *). Этот способ привязки ячеек предназначен для использования в [ С ... End With statement] (https://msdn.microsoft.com/en-us/library/wc500chb.aspx). Начните с изменения периода или добавления с помощью ... End With. – Jeeped
@ Поблагодарили, который заставил его работать без каких-либо ошибок, однако он дал некоторые неясные результаты: он вставил значения в столбец B, но ничего в столбце A (в сводке). Кроме того, он пропустил некоторые случайные строки здесь и там; «FWIW, в этом смешном отчете есть более 300 листов. –