Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62557 / 76738 ←次へ | 前へ→

【18787】VBAとRANK関数で全校順位を出す方法
質問  コスモス  - 04/10/11(月) 17:29 -

引用なし
パスワード
   みなさま、はじめまして。コスモスです。何も知りませんので、どうぞよろしくご指導お願いします。

ExcelのRANK関数の第2引数は、順位を調べる範囲を絶対参照で指定しますね。
=RANK(対象,Sheet1:Sheet3!$B$2:$B$26)
たとえば、あらかじめこういう計算式が格納されたセルとシートを持つブックを、集計用に作成しておきます。国語、英語、数学……と各教科担当の先生方が自分の受け持ちの生徒の点数だけを入力すれば、あとは自動的に学級順位、全校順位が出るようにしたいのです。この計算式が格納されたブック単体であれば、点数だけを入力すればあとは自動的に全校順位が出ますよね。これを、VBAのプログラミングで複数のブックを呼び出して(ファイルの入出力し)、RANK関数の戻り値を全校順位としてして印刷したいのです。

たとえば、高校の5教科の実力テストのクラス順位ではなく全校順位をはじき出す方法とか……。各クラスごとに、独立したブックがクラスの数だけあります。ちなみに、うちの学校の古い成績処理システムのVBAのソースコードの概略を下記に転記してみますね。ところが、このVBAの成績処理システムでは全校順位が出るはずなのに出ないのです。どう修正すれば、すっきり全校順位が出るのでしょう? どなたか、おわかりになる方、よろしくご指導お願いします。「自分ならこうする」というまったく別のコードや、大体の一般論や、ちょっとしたヒントや部分的な思いつきだけでもOKです。

-----------------------------------------------------
Public Sub Seiseki_Rank()

Application.ScreenUpdating = False
  fname12 = "定期" & クラス略称 & ".xls"
  fname11 = ThisWorkbook.Path & "\DATA\" & fname12
  fname32 = "実力テスト" & クラス略称 & ".xls"
  fname31 = ThisWorkbook.Path & "\DATA\" & fname32
   
  '学科順位を記載する場合、集計表を開く
  学科あり = False
  If 学科処理 = True Then
      学科集計book = "学科" & Left(クラス略称, 2) & ".xls"
      学科集計path = ThisWorkbook.Path & "\GAKKA\" & 学科集計book
  
      '集計用シートがなければ順位転記処理をスキップ
      If Dir(学科集計path) = "" Then
        MsgBox "集計シートがないので学科順位の転記をスキップします"
        学科あり = False
      Else
        '集計シートを開く
        Workbooks.Open Filename:=学科集計path
        学科あり = True
        Set 学科ブック = Workbooks(学科集計book)
      End If
  End If
  
  
  '全校集計シートを参照して全校順位を印刷するために集計表を開く
   全校集計book = "実力テスト集計.xls"
   全校集計path = ThisWorkbook.Path & "\DATA\" & 全校集計book
  
  '全校集計用シートがなければ順位転記処理をスキップするためフラグをオン
  If Dir(全校集計path) = "" Then
    MsgBox "集計シートがないので全校順位の転記をスキップします"
    全校あり = False
  Else
    '集計シートを開く
    Workbooks.Open Filename:=全校集計path
    全校あり = True
    Set 全校ブック = Workbooks(全校集計book)
  End If

End Sub
0 hits

【18787】VBAとRANK関数で全校順位を出す方法 コスモス 04/10/11(月) 17:29 質問

62557 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free