#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
実行結果は、以下のようになりました。
府内生産額一覧表の作成
また、推計結果を格納する「府内生産額一覧表」も作成しておきます。
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
実行結果は以下のようになりました。
サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪