Перемещение отфильтрованных данных в массив переменных переменных
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
Вам нужно будет перебрать области, затем строки в каждой области, добавив каждую ячейку отдельно. Или переберите все строки и добавьте, если они видны. Может быть быстрее скопировать и вставить видимое, а затем загрузить новый диапазон в массив.
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 ответов на вопрос
Похожие вопросы
-
3
Мой файл заблокирован в Excel 2007, что происходит?
-
2
Есть ли способ заставить Excel 2007 автоматически восстанавливать фоновые файлы, как в MS Word?
-
1
Excel Word Wrap + исчезающий текст
-
-
1
Простое объединение / очистка с помощью Excel
-
7
Как вы поддерживаете Microsoft Excel на полной скорости, даже если у него нет фокуса окна?
-
2
Почему вы не можете копировать / вставлять изображения в Excel, но скриншоты работают?
-
3
Как синхронизировать Excel с таблицей Google Docs
-
9
Как разделить имя, чтобы получить имя и фамилию?
-
1
Ссылки в Excel изменены после сбоя
-
1
Каков наилучший способ поделиться макросом Excel на нескольких машинах?