2021年8月31日 星期二

VBA:群組Group與取消群組Ungroup


這幾天小編覺得一張一張圖輸出很累,然後圖又要增加其他標籤,決定做一個群組自動建群的VBA,然後順便輸出成照片,如下圖,有2張股票市場常見的圖,小編透過文字方塊增加一個8021的文字方塊在走勢圖中,來看看怎樣群組化,滑鼠點選然後選群組 XD

圖1.範例圖檔
更正:VBA 基本語法 先來一下 MSDN:群組、 MSDN:取消群組
首先你要知道你物件的名稱這部分,

可以簡單透過Shapes.Count+for方式來逐一檢查是哪一個

 For i = 1 To activesheet.Shapes.Count
        
    Set myShape = activesheet.Shapes(i)
            
        With myShape

                .selected
                
                debug.print .Name

        End With
    
Next
小編自己的物件名稱為"Chart 4", "Chart 5", "TextBox 13",要群組化很簡單就是下ActiveSheet.Shapes.Range(XXX).Group
指令即可,但多物件要怎做?

之前有一篇自動存檔的教學,當中有提到ARRAY(工作表名稱),概念是一樣的。

先用陣列Array("Chart 4", "Chart 5", "TextBox 13")包物件起來,然後再用

SHARPES.RANGE().GROUP包起來即可,如下:

ActiveSheet.Shapes.Range(Array("Chart 4", "Chart 5", "TextBox 13")).Group

相反要解除,透過UNGroup即可。

那前面小編有提到想要自動輸出成照片.....這可不是透過EXPORT指令,因為Shapes物件沒這好用的方法 xd 微軟大大聽到麻煩未來把這物件增加這功能,感恩。

小編是CopyPicture方式來滿足此一需求,之前有一篇line自動傳圖的文章有提過。

vba:


        來檢查一下,輸出成功.. (/^▽^)/...未來都用這招發圖好了省事。


2021年8月29日 星期日

石油與xxxx股價關係

透過yahoo資料,做油價跟產業公司股價的關係整理
公司是隨便選的,沒特別用意,勿當股票投資參考依據。
價格資料:月資料。

圖1.油價跟股價走勢

圖2.資料維護

說明:keyin 是手工維護,cal是資料來源有缺,用上下期作平均值計算。

資料下載



2021年8月28日 星期六

石油upup!!

 以下單純資料整理不作為投資理財參考,僅是自己寫給自己看,另外當分享。

說明:以月線來看最近一周,油價開始反彈了!!!!

圖1.
週籌碼分析:

圖2.外資變化

圖3.個股外資持股分析
說明:明顯第一到第三家買比賣多

圖4.基本分析比較

說明:第一家與第三家稅後毛利率成長比較強,存貨周轉率第一家特好

接下來把第一家跟第三家資料調出來比比看:

圖5.第一家


圖6.第三家

圖7.市場股價與籌碼走勢

先整理到這裡,累了!!
小結:第一家跟第三家先放在口袋裡,養看看,哈。










2021年8月27日 星期五

股票:血氧機面面觀

這不是勸買股票,也不是介紹血氧機,千萬別誤會,而是提醒風險。 

瀏覽某跨國電商的購物發現血氧機開始變"無敵折扣價",不知道國內某代工大廠的動向是否受影響。


某營收公司現況





股票:外資投信籌碼(8/28)

 以下是無聊亂整理,不作為股票投資參考。

8/28週:





股票:集保庫存人數增減(8/27)

 今天很偷懶,貼成一整張照片,簡單分享,沒特別用途,有用到資訊的人可以參考歐,但投資理財自負盈虧,不負任何責任。






2021年8月19日 星期四

股票:融資資料整理(2021/1/5~2021/8/18)

 

根據歷史資料自己整理的,引用請註明出處即可。
老話一句,別作為股票操作依據。


2021年8月18日 星期三

股票:外資投信持股變化(8/18-8/14)

 整理很辛苦,引用請備註出處。

以上周8/14作基數,以8/18號外資與投信持股,去減去8/14持股,其數字變化如下圖。





股票:融資融券作20日40日比較(8/19)

資料分析分享,不方便提供原始資料。 



股票:買進的3個技巧

 引用空手的勇氣,作者:總幹事

買進的3個技巧:

1.根據總體經基分析決定買進時機。

2.根據財務報表決定買進標的。

3.根據自己的承擔分險的能力,決定買進金額。

金句好言,要經常回味。


2021年8月15日 星期日

股票:融資融卷亂整理(8/14)

 以下是無聊亂整理,不作為股票投資參考。

8/14週:融資融劵下載











VBA+股票:外資投信籌碼(8/14)

以下是無聊亂整理,不作為股票投資參考。

8/14週:

圖1.外資

圖2.投信



選金融保險業的外資部分,進一步分析看看原始是怎回事  GO!

圖3.投信整理

原來外資在買的是這幾間歐!!!作筆記作筆記;那投信勒??

圖.外資整理

把投信也拉進來看看,疑某一檔買不少歐,ㄏㄏ。

 VBA語法簡易教學:

透過EXCEL內建函數功能,來滿足自動計算:
大致整理資料作業流程是:先篩選資料>指定資料(SpecialCells)>用內建函數計算
      
XX1 = Sheets("工作表1").Range("A65536").End(xlUp).Row
            
Sheets("工作表1").Range("$a$1:$l$" & XX1).AutoFilter Field:=1, Criteria1:= "=" & list_data(J) 
'list_data(J)陣列建有篩選字串資料
Set 外資5天增持張數 = Sheets("工作表1").Range("g1:g" & XX1).SpecialCells(xlCellTypeVisible)
Sheets("工作表3").Cells(2, J + 1).Value = Application.Sum(外資5天增持張數)








2021年8月14日 星期六

股票:集保庫存人數增減(8/14)

 之前有整理了,持續整理當分享,沒特別用途,有用到資訊的人可以參考歐,但投資理財自負盈虧,不負任何責任。














2021年8月12日 星期四

2021年8月7日 星期六

VBA:刪除工作頁內不要的工作表(關鍵字檢查)

刪除工作頁內不要的工作表

INSTR傳回某個字串在另一個字串內第一個出現的位置

執行刪除都會跳出警告對話框,所以要關掉:Application.DisplayAlerts = False

透過工作頁頁數來逐頁檢查,其實也可以用FOR EACH拉,

都好方法很多,問題僅有一個,哈。

EX1:

透過工作表名稱來檢查,以INSTR與自己設定的關鍵字檢查後,當出現就執行刪除

 SUB SHEET_CHECK_DELETE()

CHECK = "P" & "S" & "10" '自己設定的關鍵字檢查

    For P = Sheets.Count To 1 Step -1

        If InStr(CHECK, Sheets(P).Name) > 0 Then

        Application.DisplayAlerts = False '關閉警告

           Sheets(P).Delete '刪除        

        Application.DisplayAlerts = True '開啟警告

        End If

   Next

END SUB


刪除工作頁內不要的工作表動態版

EX2: 動態關鍵字版

 SUB SHEET_CHECK_DELETE(CHECK AS STRING)

    For P = Sheets.Count To 1 Step -1

        If InStr(CHECK, Sheets(P).Name) > 0 Then

                Application.DisplayAlerts = False '關閉警告

                Sheets(P).Delete '刪除

                Application.DisplayAlerts = True '開啟警告

        End If

   Next

END SUB

感謝M01 snare 大大救了頭暈的我

VBA:刪除檔案 KILL v.s filesystemobject

基本上先來 MSDN 一下

MSDN看無不打緊

沒關係,基本上概念就是路徑+指令;也就是跟KILL這個指令說,請刪除位於某資料夾的XX檔案。

但如果很多同質性檔案要刪除怎辦?

例如:刪除c:\test 資料夾內的純文字檔案;可以用kill c:\test\*.txt

或是類似檔案名稱:

例如:刪除c:\test 資料夾內的1開頭純文字檔案;可以用kill c:\test\1*.txt

p.s *是萬國碼

如果實在要刪除的檔案太多,真誠建議組合filesystemobject.SubFolders 做使用,針對資料夾內子資料們做大檢查,然後刪除特定條件檔案即可。

p.s特定條件指自己設定的檔案名稱條件。

引用MSDN例子修改一下做應用

Sub ShowFolderList(folderspec,sub_name)

    Dim fs, f, f1, s, sf

    Set fs = CreateObject("Scripting.FileSystemObject")

    Set f = fs.GetFolder(folderspec)

    Set sf = f.SubFolders

    For Each f1 In sf

                 ShowFolderList f1,sub_name

       Next

        Set s = f.Files

            For Each f1 In s

                If InStr(f1.Name, sub_name) > 0 Then

                        fs.DeleteFile folderspec & "\" & f1.Name

                End If

        Next

End Sub

做一個按鈕,插入以下vba

Private Sub CommandButton1_Click()

  Call ShowFolderList("D:\新增資料夾", ".txt") 

'小編是用D:\新增資料夾做測試歐,這裡要自己設定,跟設定副檔名

End Sub

Sub ShowFolderList(folderspec, sub_name) '路徑與副檔名設定

    Dim fs, f, f1, s, sf

    Set fs = CreateObject("Scripting.FileSystemObject")

    Set f = fs.GetFolder(folderspec)

    Set sf = f.SubFolders

    For Each f1 In sf

                 ShowFolderList f1, sub_name

    Next

    Set s = f.Files

            For Each f1 In s

                If InStr(f1.Name, sub_name) > 0 Then

                        fs.DeleteFile folderspec & "\" & f1.Name

                 End If    

    Next

End Sub

有機會再發發FileSystemObject的應用好了



2021年8月6日 星期五

股票:8021尖點 集保庫存+110.Q2報+110.07營收

以下內容為自己隨手整理,不作為投資理財參考歐。


圖1.集保走勢變化股價與持有變化圖

說明:低於一張持股的散戶在這波高點,股數變化走低;最近一周低於50張持股的變化都是向上的,千張大戶也是增持2周。


圖2.股價走勢
本來是想貼貼集保即可,但以下資料不貼不過癮。

圖3.大股東董事持股明細

圖4.信用交易
說明:感覺近9個交易日信用交易走低。

圖5.110.Q2財報公布。
財報公布搂,引用新聞說法,不做多解釋。

圖6.財報變化(小編自己黃金右手整理的,懇求別偷圖)

圖7.營收年增率與累積年增率變化

圖8.營收數字



股價接下來會怎走??小編也不知道,就讓我們看下去吧。




我的雷達:20240506

自己紀錄給自己看。 在大跌1400多點後,拉回中。 雷達顯示遠離風險區但離前一個底(大盤高點也不遠了)