Фильтрация таблицы по массиву критериев, полученных из другой таблицы

Я пришел сюда поздно, но вернувшись к исходному вопросу, почему бы просто не использовать поисковые запросы?

Pattern p = Pattern.compile("(?<=\\w)(?=\\W)|(?<=\\W)(?=\\w)");
System.out.println(Arrays.toString(p.split("'ab','cd','eg'")));
System.out.println(Arrays.toString(p.split("boo:and:foo")));

output:

[', ab, ',', cd, ',', eg, ']
[boo, :, and, :, foo]

EDIT: То, что вы видите выше, что появляется в командной строке при запуске этого кода, но теперь я вижу, что это немного запутанно. Трудно отслеживать, какие запятые являются частью результата и которые были добавлены Arrays.toString(). Подсветка синтаксиса SO также не помогает. В надежде на то, что подсветка будет работать с me вместо меня, вот как эти массивы будут выглядеть, я объявляю их в исходном коде:

{ "'", "ab", "','", "cd", "','", "eg", "'" }
{ "boo", ":", "and", ":", "foo" }

Надеюсь, что это легче читать. Спасибо за хэдз-ап, @finnw.

0
задан Joey b 18 January 2019 в 15:10
поделиться

1 ответ

Я бы предположил, что это связано с тем, как вы установили массив, который будет генерировать массив 2D, а Criteria1:=myArray ожидает массив 1D.

Если ваши данные находятся в столбце, вы можете использовать

With Application
    myArray = .Transpose(myfilteredgroup.SpecialCells(xlCellTypeVisible))
End With

, а если это строка, то использовать

With Application
    myArray = .Transpose(.Transpose(myfilteredgroup.SpecialCells(xlCellTypeVisible)))
End With
0
ответ дан Tom 18 January 2019 в 15:10
поделиться
Другие вопросы по тегам:

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