要約
Excel VBAを使った企業の例として、日本の化学メーカーである「株式会社クラレ」を紹介します。
同社は業務においてExcelを積極的に活用しており、Excel VBAを使ってさまざまなタスクの自動化を実現しています。
例えば、生産ラインの稼働状況を自動集計し、管理者に通知するシステムや、請求書の自動発行システムなどがその一例です。
これらのシステムによって、クラレは業務の効率化や生産性の向上を実現しています。
詳細内容
株式会社クラレは、Excel VBAを使用して業務の自動化を実現しています。
まず、生産ラインの稼働状況を自動集計し管理者に通知するシステムについて説明します。
このシステムは、Excelのデータを自動的に更新し、その情報を基に稼働状況を把握するものです。
以下は、クラレが使用するExcel VBAのコードの例です。
まず、シート上にインタフェースを作成して、ボタンやテキストボックスなどのコントロールを配置します。
次に、ボタンがクリックされたときに実行されるマクロを記述します。
Sub UpdateStatus()
‘ ワークシートの参照を取得
Dim ws As Worksheet
Set ws = Sheets(“生産ライン状況”) ‘ 最終行を取得
Dim lastRow As Long
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row ‘ 合計稼働時間を集計
Dim totalTime As Long
totalTime = Application.WorksheetFunction.Sum(Range(“B2:B” & lastRow)) ‘ 稼働率を計算
Dim uptime As Double
uptime = totalTime / ((lastRow – 1) * 24) * 100 ‘ 稼働率をシートに表示
ws.Range(“E2”).Value = uptime & “%” ‘ 稼働率が一定の値以下の場合は管理者にメール通知
If uptime < 90 Then
SendMail "管理者", "生産ライン稼働率低下のお知らせ", "生産ラインの稼働率が90%を下回っています。
対応をお願いします。
”
End If
End Subこのコードでは、まずワークシートの参照を取得し、最終行を取得しています。
次に、各ラインの稼働時間を合計し、稼働率を計算してシートに表示しています。
さらに、稼働率が90%を下回った場合は管理者にメール通知するためのSubルーチン「SendMail」を呼び出しています。
Sub SendMail(toUser As String, subject As String, body As String)
‘ Outlookのオブジェクト取得
Dim olApp As Outlook.Application
Set olApp = New Outlook.Application ‘ メール作成
Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem) ‘ 宛先、件名、本文を設定
olMail.To = toUser
olMail.Subject = subject
olMail.Body = body ‘ メール送信
olMail.Send ‘ メモリ解放
Set olMail = Nothing
Set olApp = Nothing
End Subこのコードでは、Outlookのオブジェクトを取得し、メールを作成して送信する処理を行っています。
さらに、請求書の自動発行システムについて説明します。
このシステムは、請求情報をExcelに入力すると自動的に請求書を作成し、メールで送付するものです。
以下は、クラレが使用するExcel VBAのコードの例です。
Sub CreateInvoice()
‘ ワークシートの参照を取得
Dim ws As Worksheet
Set ws = Sheets(“請求書”) ‘ 請求情報を取得
Dim invoiceNumber As Long
invoiceNumber = ws.Range(“C4”).Value
Dim customerName As String
customerName = ws.Range(“C6”).Value
Dim invoiceDate As Date
invoiceDate = ws.Range(“C8”).Value
Dim amount As Long
amount = ws.Range(“C10”).Value ‘ 請求書の作成
Dim wb As Workbook
Set wb = Workbooks.Add
Dim wsInvoice As Worksheet
Set wsInvoice = wb.Sheets(1) ‘ 請求書のデザイン
‘ … ‘ 請求書に情報を設定
wsInvoice.Range(“B3”).Value = invoiceNumber
wsInvoice.Range(“B5”).Value = customerName
wsInvoice.Range(“F7”).Value = Format(invoiceDate, “yyyy/MM/dd”)
wsInvoice.Range(“G10”).Value = amount ‘ ファイル名を設定
Dim fileName As String
fileName = “請求書_” & invoiceNumber & “.xlsx”
Dim filePath As String
filePath = “C:\請求書\” & fileName ‘ ファイルを保存
wb.SaveAs Filename:=filePath ‘ メール送信
SendMail customerName, “請求書の送付”, “お客様の請求書を送付いたします。
“, filePath ‘ メモリ解放
wb.Close
Set ws = Nothing
Set wb = Nothing
End Subこのコードでは、まず請求情報を取得し、新しいワークブックを作成して請求書のデザインを設定しています。
次に、請求書に情報を設定し、ファイル名を設定してファイルを保存しています。
最後に、請求書をメールで送信しています。
このように、株式会社クラレはExcel VBAを活用することで、業務の自動化を効果的に実現しています。
コメント