根據股票:營收數字連6正成長產業別整理(110/05)一文簡單整理,做財務面分析:
分析說明:營業利益率成長,當本季比上季數字上有成長,則+1,上季在與上上季比仍為成長在加1,以此類推則-1表不成長,也就是會計標示的()數字;當數字已+1了,遇到負數時,則停止分析。
整理摘要幾個產業來推敲
食品工業:
喜歡攝影的我,喜歡到處拍拍照,吃點當地的特色食物。 跟朋友聊天之餘,推薦我寫成網誌跟大家分享。 沒外出的日子,喜歡在家當隱性宅,寫程式看看書,追劇。 希望我的手札文,不會讓你翻桌 XD
根據股票:營收數字連6正成長產業別整理(110/05)一文簡單整理,做財務面分析:
分析說明:營業利益率成長,當本季比上季數字上有成長,則+1,上季在與上上季比仍為成長在加1,以此類推則-1表不成長,也就是會計標示的()數字;當數字已+1了,遇到負數時,則停止分析。
整理摘要幾個產業來推敲
食品工業:
前一篇文中,最後提到畫出圖,觀察整體趨勢,但小編實在太廢了,所以小編決定連畫圖也自動化。
VBA CODE:
Sub INCOME_trend_BY_MONTH() | |
Set OUT = Sheets("OUT") | |
S1 = Sheets("OUT").Range("z2000").End(xlUp).Row | |
S2 = Sheets("OUT").Range("Aa2000").End(xlUp).Row | |
Tag = Sheets("OUT").Range("Z1:Z" & S1) | |
Tag = WorksheetFunction.Transpose(Tag) | |
DATAA = Sheets("OUT").Range("AA1:AA" & S2) | |
DATAA = WorksheetFunction.Transpose(DATAA) | |
FIRST = 找重複值的位置("OUT", DATAA(LBound(DATAA)), 0, 0, "B:B") | |
LAST = 找重複值的位置("OUT", DATAA(UBound(DATAA)), 0, 0, "B:B") | |
For I = LBound(Tag) - 1 To UBound(Tag) Step 1 | |
TEMP1 = Split(FIRST(I), "$") | |
TEMP2 = Split(LAST(I), "$") | |
If LAST(I) = "" Then | |
Exit For | |
End If | |
Set rngSourceData = OUT.Range("E" & TEMP1(2) & ":" & "E" & TEMP2(2)) | |
Set rngXValues = OUT.Range("B" & TEMP1(2) & ":" & "B" & TEMP2(2)) | |
If I Mod 2 = 0 Then | |
Set MYCHART = OUT.ChartObjects.Add(Left:=OUT.Columns("AB").Left, Width:=320, Top:=OUT.Rows(1 + (I) * 8).Top, Height:=240) | |
OUT.Range("AB" & 2 + (I) * 8).Activate | |
Else | |
Set MYCHART = OUT.ChartObjects.Add(Left:=OUT.Columns("AI").Left, Width:=320, Top:=OUT.Rows(1 + (I - 1) * 8).Top, Height:=240) | |
OUT.Range("AI" & 2 + (I - 1) * 8).Activate | |
End If | |
With MYCHART.Chart | |
.ChartType = xlColumnClustered | |
.SetSourceData Source:=rngSourceData, PlotBy:=xlColumns | |
.HasTitle = True | |
.ChartTitle.Text = Tag(I + 1) | |
.SeriesCollection(1).XValues = rngXValues | |
.ChartGroups(1).GapWidth = 10 | |
.Legend.Delete | |
.PlotArea.Left = 1 | |
.PlotArea.Top = 0.527 | |
.PlotArea.Width = 300 | |
.PlotArea.Height = 292.869 | |
End With | |
With MYCHART.Chart | |
'.SeriesCollection(1).ChartType = xlColumnClustered | |
With .SeriesCollection(1).Format.Fill | |
.Visible = msoTrue | |
.Visible = msoTrue | |
'.InvertIfNegative = True | |
.ForeColor.RGB = RGB(79, 129, 189) | |
.Transparency = 0 | |
MYCHART.Chart.SeriesCollection(1).InvertIfNegative = True | |
MYCHART.Chart.SeriesCollection(1).InvertColor = RGB(255, 0, 0) | |
.Solid | |
End With | |
If CheckBox1 = True Then | |
newHour = Hour(Now()) | |
newMinute = Minute(Now()) | |
newSecond = Second(Now()) + 1 | |
waitTime = TimeSerial(newHour, newMinute, newSecond) | |
Application.Wait waitTime | |
.Export Filename:=ThisWorkbook.Path & "\" & "X" & ".jpg", Filtername:="JPG" | |
Call Line傳讀圖與訊息(ThisWorkbook.Path & "\" & "X" & ".JPG", Format(Now(), "HH:MM")) | |
End If | |
End With | |
Next | |
End Sub |
大概要點:
主要是透過關鍵字查詢相同關鍵字重複位置的作法來設定走勢圖資料來源。
每張圖自動控制位置。
每圖調整一下X軸的尺規資料與繪圖區圖型尺寸,然後設定"負值資料以補色顯示"尺規,然圖型具備兩種顏色。
最後為了有利於圖型的分享,加碼增加了一個LINE自動傳圖功能,讓我好分享資料 XD。
Application.ScreenUpdating = False | |
Application.DisplayStatusBar = False | |
Application.Calculation = xlCalculationManual | |
Application.EnableEvents = False | |
S1 = Sheets("OUT").Range("z2000").End(xlUp).Row | |
S2 = Sheets("OUT").Range("Aa2000").End(xlUp).Row | |
Tag = Sheets("OUT").Range("Z1:Z" & S1) | |
Tag = WorksheetFunction.Transpose(Tag) | |
DATAA = Sheets("OUT").Range("AA1:AA" & S2) | |
DATAA = WorksheetFunction.Transpose(DATAA) | |
TOPIC = Array("產業別", "月份", "當月營收", "去年當月營收", "年增減(%)") | |
Sheets("OUT").Range("A1:E1") = TOPIC | |
For I = LBound(Tag) To UBound(Tag) Step 1 | |
S3 = Sheets("OUT").Range("A10000").End(xlUp).Row | |
For J = LBound(DATAA) To UBound(DATAA) Step 1 | |
Sheets("OUT").Range("A" & J + S3) = Tag(I) | |
Sheets("OUT").Range("B" & J + S3) = DATAA(J) | |
Sheets("OUT").Range("C" & J + S3).Formula = "= SUMPRODUCT((產業別=" & Chr(34) & Tag(I) & Chr(34) & ")*(月份=" & Chr(34) & DATAA(J) & Chr(34) & "),當月營收)" | |
Sheets("OUT").Range("C" & J + S3).Calculate | |
Sheets("OUT").Range("D" & J + S3).Formula = "= SUMPRODUCT((產業別=" & Chr(34) & Tag(I) & Chr(34) & ")*(月份=" & Chr(34) & DATAA(J) & Chr(34) & "),去年當月營收)" | |
Sheets("OUT").Range("D" & J + S3).Calculate | |
Sheets("OUT").Range("E" & J + S3).Formula = "=(C" & J + S3 & "-D" & J + S3 & ")/D" & J + S3 | |
Sheets("OUT").Range("E" & J + S3).Calculate | |
Next J | |
Next I | |
S3 = Sheets("OUT").Range("A10000").End(xlUp).Row | |
Sheets("OUT").Range("A2:E" & S3).Copy | |
Sheets("OUT").Range("A2").PasteSpecial xlPasteValuesAndNumberFormats | |
Application.ScreenUpdating = True | |
Application.DisplayStatusBar = True | |
Application.Calculation = xlCalculationAutomatic | |
Application.EnableEvents = True | |
用VBA簡單整理了一下資料,發現航運、塑膠、玻璃陶瓷、橡膠工業好強阿。
資料來源與期間:110年5年營收、2021.06.17週集保庫存與三大法人資料、2021.Q1財報
原始資料超多其他就不多做解釋了,請各位看官找資料來看摟。
指數變化(2025.03.20) 上周焦點: 美國紐約州製造業指數 -20 美國企業庫存月增率 +0.3% 美國零售額月增率 +0.1% FED 不升息 川普 名句:對等關稅是具備彈性的 本周愛看: 美國消費者信心指數 3/25 美國耐久財訂單月增率 3/26 ...