見出し画像

#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 府内生産額一覧表(一部)


サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪