MakeChartは月が2桁 1桁にする
6業態:凡例:業態ではなく販売額では?
本省では、身の回り品は衣料品に含まれる
速報:
CVS DB_Table8
EC DB_Table12
DGS DB_Table15
HC DB_Table18
どうやって、4業態の品目別寄与度を取得しているか?
全国なら可能。
百スは全国との比較が可能。県別も可能。
Option Explicit
Private Type Contribs
Item As String
Contrib As Double
End Type
Private cntItems As Long
Public Sub SortContrib()
Dim arrContribPlus() As Contribs
Dim arrContribMinus() As Contribs
Dim curClm As Long
Dim contribRow As Long
Dim iniRow As Long
Dim iniClm As Long
Dim titleClm As Long
Dim cntClm As Long
Dim iniDataClm As Long
Dim endDataClm As Long
Dim isPlus As Boolean
Dim i As Long
Dim j As Long
Dim p As Long
Dim m As Long
Dim cnt As Long
'
Dim temp As Contribs
'''並び替え完了
Dim isSwap As Boolean
'
cntItems = 8
contribRow = 5
iniRow = 2
cntClm = 1
titleClm = 2
iniClm = 3
iniDataClm = 4
endDataClm = 11
'
Range(Cells(10, 1), Cells(30, 3)).ClearContents
ReDim arrContribPlus(cntItems)
ReDim arrContribMinus(cntItems)
isPlus = True
If Cells(contribRow, iniClm) < 0 Then isPlus = False
i = 0
p = 0
m = 0
For curClm = iniDataClm To endDataClm
If Cells(contribRow, curClm) >= 0 Then
arrContribPlus(p).Item = Cells(iniRow, curClm)
arrContribPlus(p).Contrib = Cells(contribRow, curClm)
p = p + 1
Else
arrContribMinus(m).Item = Cells(iniRow, curClm)
arrContribMinus(m).Contrib = Cells(contribRow, curClm)
m = m + 1
End If
i = i + 1
Next curClm
isSwap = False
Do Until isSwap
isSwap = True
For i = 0 To UBound(arrContribPlus) - 1
If arrContribPlus(i).Contrib < arrContribPlus(i + 1).Contrib Then
temp = arrContribPlus(i)
arrContribPlus(i) = arrContribPlus(i + 1)
arrContribPlus(i + 1) = temp
isSwap = False
End If
Next i
Loop
'
isSwap = False
Do Until isSwap
isSwap = True
For i = 0 To UBound(arrContribMinus) - 1
If arrContribMinus(i).Contrib > arrContribMinus(i + 1).Contrib Then
temp = arrContribMinus(i)
arrContribMinus(i) = arrContribMinus(i + 1)
arrContribMinus(i + 1) = temp
isSwap = False
End If
Next i
Loop
If isPlus Then
j = 0
cnt = 1
For i = 0 To UBound(arrContribPlus)
If arrContribPlus(i).Item <> "" Then
Cells(10 + j, cntClm) = cnt
Cells(10 + j, titleClm) = arrContribPlus(i).Item
Cells(10 + j, iniClm) = arrContribPlus(i).Contrib
cnt = cnt + 1
j = j + 1
End If
Next i
cnt = 1
j = j + 2
For i = 0 To UBound(arrContribMinus)
If arrContribMinus(i).Item <> "" Then
Cells(10 + j, cntClm) = cnt
Cells(10 + j, titleClm) = arrContribMinus(i).Item
Cells(10 + j, iniClm) = arrContribMinus(i).Contrib
cnt = cnt + 1
j = j + 1
End If
Next i
Else
cnt = 1
j = 0
For i = 0 To UBound(arrContribMinus)
If arrContribMinus(i).Item <> "" Then
Cells(10 + j, cntClm) = cnt
Cells(10 + j, titleClm) = arrContribMinus(i).Item
Cells(10 + j, iniClm) = arrContribMinus(i).Contrib
cnt = cnt + 1
j = j + 1
End If
Next i
cnt = 1
j = j + 2
For i = 0 To UBound(arrContribPlus)
If arrContribPlus(i).Item <> "" Then
Cells(10 + j, cntClm) = cnt
Cells(10 + j, titleClm) = arrContribPlus(i).Item
Cells(10 + j, iniClm) = arrContribPlus(i).Contrib
cnt = cnt + 1
j = j + 1
End If
Next i
End If
End Sub
条件付き書式 青と赤
=RC3>=0