快適ソフトトップへ 
 ソフトウェア技術 
 ハッシュでファイル確認   プログラムの難読化   ファイル型DBのSQLite 
 トラブル 
 マウスでトラブル多発   フリーメールのトラブル   ニフティが詐欺未遂   ニフティが詐欺未遂2   ニフティが詐欺未遂3 
 システム開発の実際 
 システム開発の実際   仕様書の重要性 
 ExcelとDB 
 エクセルの長所   エクセルの限界   データベースの長所 

 エクセルの長所

                                更新 2021/05/23(日)                                 文責 炭本 治之

■エクセルの長所

  (1)エクセルは「表形式のデータ」を記録できる    毎月の勤務表は,エクセルで作って提出するのが一般的でしょう。        他に,見積書,請求書,注文書,学校の先生が作るテスト結果一覧などもエクセルで    作成するのが最も楽です。    経過時間,小計,全体合計なども簡単に表示させることができます。    並べ替え,フィルターをかけての表示も簡単です。   (2)VBAマクロの機能が豊富    表計算だけなら,OpenOfficeなど,無料で利用できる表計算ソフトがあります。    しかし,それらのソフトでは,エクセルのVBAマクロに匹敵する機能がありません。    他の表計算は,マクロの機能が貧弱なために,エクセルに比べると使える範囲が大幅に      限定されてしまいます。

■エクセルを使って販売管理をする例

  下のエクセルファイルは,販売管理のファイルの例です。   「販売テーブル」の行番号2のレコードは,次の情報を示します。    2021/04/02の1番目に売れた商品は,商品コード00001の商品で,それが2個売れた   商品コード00001の商品は,下の「商品マスタ」に記録されています。   「マスク20枚入り」で単価は800円とあります。

■VBAマクロでプログラムを作る例

  さて,このエクセルファイルのデータから,次のプログラムを作成してみます。   「利用者が年月を指定すると,その年月の販売金額合計を計算して表示」するプログラム   Public Sub CalcMonthlySum()   '概要:指定年月の販売金額合計を表示    Dim strYM As String    strYM = InputBox("年月を指定してください。", "年月指定", "2021/04", 100, 50)       Dim i As Long    Dim ProdCD As String    Dim Cnt As Long    Dim SumRec As Long    Dim SumTotal As Long       i = 2    SumTotal = 0    Do    If ThisWorkbook.Sheets(1).Cells(i, 1) = "" Then 'レコードがない場合    Exit Do '処理を抜ける    End If       ProdCD = ThisWorkbook.Sheets(1).Cells(i, 3) '商品コード    Cnt = ThisWorkbook.Sheets(1).Cells(i, 4) '数    SumRec = GetSum(ProdCD, Cnt)    SumTotal = SumTotal + SumRec    i = i + 1    Loop    MsgBox strYM & "の販売金額合計=" & CStr(SumTotal)      End Sub   Private Function GetSum(pProdCD As String, pCnt As Long) As Long   '概要:商品マスタを参照して,商品コードと数から販売金額を計算して返す    Dim i As Long    i = 2    Do    If ThisWorkbook.Sheets(2).Cells(i, 1) = "" Then 'レコードがない場合    Exit Do '処理を抜ける    End If    If ThisWorkbook.Sheets(2).Cells(i, 1) = pProdCD Then    GetSum = CLng(ThisWorkbook.Sheets(2).Cells(i, 5)) * pCnt    Exit Function    End If    i = i + 1    Loop       MsgBox "商品マスタにないコードが使われています:" & pProdCD      End Function   メニューバーでツール,マクロを選択し,上のCalcMonthlySumをクリックすると,   ダイアログが表示されます。   ダイアログで2021/04を入力すると,別のダイアログで2021/04の合計販売額が表示されます。   上の関数の金額合計をする部分は,    CalcMonthlySumでは,Dim i As Longの行から,MsgBoxの行まで    GetSumでは,この関数全体   で,合計計算だけでだいたい30行くらいのソースコードになっています。(空白行は除く)   他にも,    どの曜日が最も販売金額が大きいか,    どの商品が最も販売金額が多いか,   など,いろいろな計算をマクロで作成できます。 (終わり) ページの先頭へ