Перемещение отфильтрованных данных в массив переменных переменных

264
user3287522

В настоящее время я пытаюсь автоматизировать ручное задание. Я отфильтровал свои данные, и это прекрасно работает, если я копирую и вставляю видимый диапазон на другой лист. Я пытаюсь записать видимые данные в массив переменных переменных. Я хочу сохранить это в памяти, а затем записать это в диапазон. Каждый раз, когда я делаю это, я получаю #NAs. Ваши мысли и советы приветствуются.

Sub Derivatives() Application.ScreenUpdating = False Application.Calculation = xlAutomatic Application.DisplayAlerts = False  Dim wb As Workbook, ws As Worksheet Dim lRow As Long Dim lRow1 As Long Dim Fields() As Variant Dim wb1 As Workbook  Set wb = ThisWorkbook Set ws = wb.ActiveSheet  lRow = Range("A" & Rows.Count).End(xlUp).Row  With ws Range("$G$9:$I$22479").AutoFilter Field:=3, Criteria1:="TRUE" lRow1 = Range("G" & Rows.Count).End(xlUp).Row Fields = ws.Range("G9").CurrentRegion.SpecialCells(xlCellTypeVisible) ActiveSheet.ShowAllData Range("K9").CurrentRegion = Fields End With  Application.ScreenUpdating = True Application.Calculation = xlAutomatic Application.DisplayAlerts = True End Sub 
0
Вам нужно будет перебрать области, затем строки в каждой области, добавив каждую ячейку отдельно. Или переберите все строки и добавьте, если они видны. Может быть быстрее скопировать и вставить видимое, а затем загрузить новый диапазон в массив. Scott Craner 6 лет назад 0
Привет, Скот. Я заинтересован в том, чтобы загрузить это в вариантный массив, чтобы держать его как память, и это также элемент обучения. Я немного озадачен, как это можно сделать user3287522 6 лет назад 0
Как говорилось в моем последнем комментарии, вы не можете сделать это массово. Я дал вам три варианта, как это сделать. Scott Craner 6 лет назад 0
@ user3287522, подумайте, что вы пытаетесь скопировать отфильтрованные данные в G9! но ваши исходные данные перекрывают его, так как диапазон для фильтрации G9: I22479 ?? Rajesh S 6 лет назад 0
@ user3287522, еще одна проблема, которую я обнаружил, это Критерии, то, как вы используете, неверно, даже если вы не можете использовать его как «True». Лучше хранить TRUE в ячейке и изменить командную строку следующим образом: `Criteria1: = Range (" E3 "). Value` Rajesh S 6 лет назад 0
Раджеш, так что у меня был огромный список элементов 25000 строк, и я создал список vlookup, только элементы в диапазоне vlookup выглядели бы как истина, которую я бы отфильтровал. Я считаю, что должен быть способ передачи в массив отфильтрованных элементов user3287522 6 лет назад 0

0 ответов на вопрос

Похожие вопросы