2016-08-21 17 views
0

同じワークブックで、同じパターンと同じテーブルを持つ別のシートを使用しています。条件を評価してその値を返すには、これらのシートのセル値を調べる必要があります。Excel:異なるシート内の同じセルの結果を返す場合

例:Sheet1からSheet9までのセルB2は、常に別のシートの番号です。これらの番号のうちのどれが5未満であるかを知る必要があります。

+0

私はあなたが数式だけではできないと思います。代わりにVBA /マクロを使用できますか?式を使用する方法は、出力シート上のセルをSheet1 ... Sheet9B2に設定し、次に{{IF(A1:A8 <5、A1:A8、 "}})を実行する方法です。 – atclaus

+0

配列を必要としていますか?セルあたりの値を表示するために、複数のセル(シートごとに最大9 - 1)にドラッグしなければならない配列が本当に必要ですか? – atclaus

答えて

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 
関連する問題