我在同一个工作簿中有不同的表格,具有相同的模式和相同的表格。我需要在这些工作表中检查单元格值以评估条件并返回其值。
例如:Sheet1到Sheet9中的单元格B2始终是一个数字,在另一个工作表中我需要知道这些数字中的哪一个小于5.然后返回一个包含值的数组。
答案 0 :(得分:1)
这是VBA中的解决方案。编辑我在宏顶部调出的行。
Option Explicit
Sub get_from_sheets()
Dim cell_values(), threshold As Double
Dim source_cell, output_first_cell, output_sheet As String
Dim num_sheets, start_sheet, end_sheet, a As Integer
Dim out_rw, out_cl As Integer
source_cell = "B2" 'fill in this
start_sheet = 10 'fill this
end_sheet = 13 'fill this
output_sheet = "Sheet14" 'fill this
output_first_cell = "A1" 'fill this
threshold = 5 'fill this
out_rw = Range(output_first_cell).Row
out_cl = Range(output_first_cell).Column
ReDim cell_values(end_sheet)
For a = start_sheet To end_sheet
cell_values(a) = Sheets("Sheet" & a).Range(source_cell)
Next a
For a = start_sheet To end_sheet
If cell_values(a) < threshold Then
Sheets(output_sheet).Range(Cells(out_rw, out_cl), Cells(out_rw, out_cl)) = cell_values(a)
out_rw = out_rw + 1
End If
Next a
End Sub