#103 大阪府内生産額推計の準備

今回の投稿から、2013年(平成25年)大阪府産業連関表の推計作業に取り掛かります。最初に、府内生産額の推計から始めます。

今回は、府内生産額の推計前の準備について投稿します。

部門コードのセルの書式設定を「文字列」に変更

2011年(平成23年)大阪府産業連関表において、部門コードが格納されているセルの書式設定が「数値」になっているので、「文字列」に変更します。
VBAのコードは、以下のようになります。

Sub 部門コードが入ったセルの書式設定を文字列に設定
    Dim i As Integer
    Dim num  As Long
    Dim code As String
    Dim wSheet As Worksheet

    Set wSheet = Workbooks("平成23年大阪府産業連関表_統合小分類.xlsx").Worksheets("取引基本表")

    For i = 2 To 206
        num = Val(wSheet.Cells(i, 1).Value)
        If num < 1000 Then
            code = "0" & CStr(num)
        Else
            code = CStr(num)
        End If
        wSheet.Cells(i, 1).NumberFormatLocal = "@"  ' セルの書式を「文字」に設定
        wSheet.Cells(i, 1).Value = code
    Next
    For i = 3 To 218
        num = Val(wSheet.Cells(3, i).Value)
        If num < 1000 Then
            code = "0" & CStr(num)
        Else
            code = CStr(num)
        End If
        wSheet.Cells(3, i).NumberFormatLocal = "@"  ' セルの書式を「文字」に設定
        wSheet.Cells(3, i).Value = code
    Next
End Sub

府内生産額推計シートの作成

府内生産額を推計するシートを、結合小分類の部門単位毎に1シートずつ作成していきます。
VBAのコードは、以下のようになります。


Sub 結合小分類毎に新規ワークシート作成()
  ' 結合小分類を読み込んで、部門1個毎に新規ワークシートを作成する
    Dim bunruiCode As String
    Dim bumonmei As String
    Dim wbOrg As Worksheet
    Dim wbDes AS Workbook
    Dim wSheet As Worksheet
    Dim i As Integer

    Set wbOrg = Workbooks("平成23年大阪府産業連関表_統合小分類.xlsx").Worksheets("取引基本表")
    Set wbDes = Workbooks("平成25年大阪府府内生産額推計.ods")

    For i = 5 To 194
        bunruiCode = wbOrg.Cells(i, 1)
        bumonmei = wbOrg.Cells(i, 2)
        ' 最後尾にシートを追加
        Set wSheet = wbDes.Worksheets.Add(before:=Worksheets(Worksheets.Count))
        ' シート名を変更
        wSheet.Name = bunruiCode
        ' 列名を入力
        wSheet.Columns(1).NumberFormatLocal = "@"
        wSheet.Columns(8).NumberFormatLocal = "@"
        wSheet.RANGE("A1").VALUE = "コード"
        wSheet.RANGE("B1").VALUE = "名称"
        wSheet.RANGE("C1").VALUE = "単位"
        wSheet.RANGE("D1").VALUE = "生産数量"
        wSheet.RANGE("E1").VALUE = "単価(円)"
        wSheet.RANGE("F1").VALUE = "生産額(百万円)"
        wSheet.RANGE("H1").Value = "分類コード"
        wSheet.RANGE("H2").Value = bunruiCode
        wSheet.RANGE("I1").Value = "部門名"
        wSheet.RANGE("I2").Value = bumonmei
        wSheet.RANGE("J1").Value = "県内生産額(百万円)"
    Next
End Sub

実行結果は、以下のようになりました。

図103−1 府内生産額推計シートの作成

府内生産額一覧表の作成

また、推計結果を格納する「府内生産額一覧表」も作成しておきます。
VBAのコードは、以下のようになります。


Sub 府内生産額一覧作成()
    Dim wbOrg As Worksheet
    Dim wbDes AS Workbook
    Dim i As Integer

    Set wbOrg = Workbooks("平成23年大阪府産業連関表_統合小分類.xlsx").Worksheets("取引基本表")
    Set wbDes = Workbooks("平成25年大阪府府内生産額一覧.ods").Worksheets("Sheet1")

    For i = 5 To 194
        wbDes.Columns(1).NumberFormatLocal = "@"
        wbDes.Cells(i-3, 1).Value = wbOrg.Cells(i, 1).Value
        wbDes.Cells(i-3, 2).Value = wbOrg.Cells(i, 2).Value
    Next
End Sub

実行結果は以下のようになりました。

表103−1 府内生産額一覧表(一部)

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です