Как получить значение ячейки на всех листах - PullRequest
0 голосов
/ 05 февраля 2009

Я пытаюсь написать функцию VBScript, которая собирает значение ячейки («E1») на всех вкладках документа Excel в массив (рецензенты).

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

Это код:

vba screenshot

Ответы [ 4 ]

1 голос
/ 05 февраля 2009

Или даже, так как Worksheets основаны на 1 (поэтому мы можем потерять это +1 и -1 бизнес):

Dim i As Long
Dim reviewers() As String
ReDim reviewers(1 To Worksheets.Count)

For i = 1 To Worksheets.Count 
    reviewers(i) = Worksheets(i).Cells(1, 5).Value
Next
1 голос
/ 05 февраля 2009

Ваш код говорит:

 Reviewers(N) = Sheets(N+1).Range("B7:C7").Value

Диапазон B7: C7 состоит из двух ячеек, а не одной, и, следовательно, значение является массивом, а не одним значением. Используйте диапазон одной ячейки.

1 голос
/ 05 февраля 2009

Я не вижу ваш код, так как моя компания заблокировала доступ к imageshack.

Вы пробовали что-то вроде следующего?

Dim i As Long
Dim reviewers() As String
ReDim reviewers(0 To Worksheets.Count - 1)

For i = 0 To Worksheets.Count - 1
    reviewers(i) = Worksheets(i + 1).Cells(1, 5).Value
Next
0 голосов
/ 28 мая 2015

Вам просто нужно объединить ячейки, если вы хотите, чтобы они оба были там, или заменить & на +, если хотите добавить их, я не знаю, являются ли они значениями или текстом.

Reviewers(N) = Sheets(N+1).Range("B7").Value & Sheets(N+1).Range("C7").Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...