VBA для каждой вставки возвращает формулу вначале l oop для каждого, а затем значения после этого - PullRequest
0 голосов
/ 28 апреля 2020

Я делю одну рабочую книгу на множество других. Я просто хочу, чтобы значения вставлялись, однако для первого отфильтрованного результата в поле For Each l oop он копирует формулы по всем остальным, фильтруя результат, в котором l oop возвращает только значения (по желанию). Есть ли очевидная причина для этого?

Большое спасибо,

Стивен

Range("B1").Select
Selection.AutoFilter
Set ws = ThisWorkbook.Sheets("Combined Data")
Set rData = .Range(.Cells(1, 2), .Cells(.Rows.Count, 13).End(xlUp))
.Columns(.Columns.Count).Clear
.Range(.Cells(2, 6), .Cells(.Rows.Count, 6).End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Cells(1, .Columns.Count), Unique:=True

For Each rfl In .Range(.Cells(2, .Columns.Count), .Cells(.Rows.Count, .Columns.Count).End(xlUp))
state = rfl.Text

Set wsNew = Workbooks.Add
sfilename = "Monday" & " " & state & " - Engagement" & ".xlsx"


ActiveWorkbook.SaveAs PATH & "\" & sfilename


Application.DisplayAlerts = False
ws.Activate
rData.AutoFilter Field:=5, Criteria1:=state


rData.Copy
Windows(sfilename).Activate
ActiveSheet.Paste

ActiveWorkbook.Close SaveChanges:=True
Next rfl
Application.DisplayAlerts = True
End With

ws.Columns(Columns.Count).ClearContents
rData.AutoFilter
...