чтение содержимого буфера обмена в массив в VBA - PullRequest
0 голосов
/ 11 февраля 2011
  Range("C" & CStr(j) & ":C" & CStr(k)).Select
  Range("C" & CStr(j) & ":C" & CStr(k)).Copy

Я читаю содержимое столбца в буфер обмена и хочу перебрать каждый элемент.

Вопрос в том, как пройти через него?

Содержимоеиз буфера обмена выглядят так:

1234
21345234
1234512345
123452135
123451235
2345

в качестве альтернативы я, вероятно, должен проходить через J и K?Не могли бы вы показать мне, как это сделать, спасибо

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Вы можете циклически перемещаться по диапазону без использования какого-либо странного синтаксиса, подобного этому:

Dim cel as Range
For Each cel in Range(Cells(j,3), Cells(k,3))
    MsgBox cel.Value
Next cel

Обратите внимание, что «3» в данном случае означает, что диапазон находится в третьем столбце (что означает «C»)

1 голос
/ 11 февраля 2011

Для этого вам не нужно использовать буфер обмена:

Dim workingArray as Variant

workingArray = Range ("C" & CStr(j) & ":C" & CStr(k))

Теперь вы можете работать через workingArray, обратите внимание, что он обрабатывается как двумерный массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...