如何在所有工作表中获取单元格的值

我正在尝试编写一个VBScript函数,它将Excel文档的所有选项卡中的单元格(“E1”)的值收集到一个数组(Reviewers)中。

我写了下面的代码,但数据没有被存储到数组中,有人可以告诉我我做错了什么?

这是代码:

vba截图

我无法看到您的代码,因为我的公司已经阻止访问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 

甚至,因为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 

你的代码说

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

范围B7:C7包含两个单元格,而不是一个,因此该值是一个数组,而不是一个单一的值。 使用一个单元格的范围。

你只需要连接单元格,如果你希望它们都在那里,或者如果你想要添加它们,就用&replace+,我不知道它们是值还是文本。

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