四十路サラリーマン、強く生きる

日々気になっている、やってみたことメモ

Trading View script公式マニュアル読み始めました

年末は寒くて家にこもってダラダラしちゃいますね。私もそんな一人ですが、今回の年末年始は自分自身に一つ課題を設定しました。Trading ViewのPine scriptの公開マニュアル(英文)を一通り目を通すことです。

https://www.tradingview.com/pine-script-docs/en/v4/index.html:embeded

私は平凡なサラリーマン投資家ですが、 振り返ると失敗ばかりのトレード生活です。

やはり、トレードスタイルが論理的で儲け続ける根拠が足りないことが弱いトコロと思ってます。自分のスタイルを見つめ直すため、新たなツールを有効に活用する手法を追及しようと思います。

フォルダ内csvファイル連続オープン、クローズ処理

特定フォルダ内csvファイルの連続オープン、クローズ処理に関する記事です

  • 状況
    特定フォルダ内csvファイル内のシート内データを取得したい
  • 実施
    フォルダ絶対path取得
    Dir()関数によるファイル名取得
    Workbooks().openでCsvファイルオープン
    Workbooks().closeでCsvファイルクローズ
    保存なしdeファイルクローズ設定
  • シート画像
    f:id:JUNx2:20201220222821j:plain
  • VBA記述
Sub test()

Dim Folder, CsvFile, Name1, Name2, Name3, Name4 As String
Name1 = ActiveWorkbook.Name
Name2 = ActiveSheet.Name
Folder = ActiveWorkbook.Path & "\test\"
i = 1
CsvFile = Dir(Folder)

    Do
    If CsvFile = "" Then
        Exit Do
    End If

    Set WB = Workbooks.Open(Folder & CsvFile)

    Name3 = ActiveWorkbook.Name
    Name4 = ActiveSheet.Name
    Range(Cells(1, 1), Cells(1, 4)).Select
    Selection.Copy
    Workbooks(Name1).Sheets(Name2).Activate
    Cells(i, 1).Select
    ActiveSheet.Paste
    Workbooks(Name3).Sheets(Name4).Activate
    Application.CutCopyMode = False
    Workbooks(Name3).Close
 savechanges:=False

    CsvFile = Dir()
    i = i + 1
    Loop
End Sub

はてなブログについて

いままで何度かブログやってきました(ライブドアブログアメブロ)。結局続けられなかったのですが、はてなブログで凝りもせず再開しました。現時点でははてなブログに満足させて頂いております。小物ブロガーですが、ブログ執筆で快適と思っているポイントを記事にします。

  • PCなし、スマホだけで完結できるようになった

    総じてこれに尽きると思います。PCと離れることで、SNSスマホ経由の情報を活用しやすくなりました。そして記事する障壁が下がりました。

  • Bloothooth keyboard活用

    スマホだとどうしても文字入力速さがタイピングに勝てない、長時間入力は疲れるので、状況に応じてBloothooth keyboardを活用することにしました。アイディアさえあれば文字入力は面倒くさくなくなりました。

  • はてなブログアプリツールで十分

    世間の評判は知りませんが、私ははてなブログアプリツールで満足と感じてます。Markdownエディターをいくつか使用してみましたが、私にとってはアプリツール上で全てが完結できる方が楽との結論に至りました。

画像の挿入、SNS埋め込みとかも楽チンですよね。
f:id:JUNx2:20201220213343j:plain

アクティブブック、シート名取得

VBAで必須なアクティブブック、シート名取得と、記述の簡潔化の記事です

  • 状況

    現在開いているExcelbook名、sheet名を取得したい。

  • 実施
    ActiveWorkbook.Nameによる名前取得
    ActiveSheet.Nameによる名前取得
    Set定義によるbook名、sheet名記述簡潔化
  • シート画像
    f:id:JUNx2:20201220193718j:plain

  • VBA記述

Sub test()
Dim Name1, Name2 As String
Dim Name3, Name4 As Worksheet

Name1 = ActiveWorkbook.Name
Name2 = ActiveSheet.Name

Workbooks(Name1).Sheets(Name2).Cells(1, 1) = 1
Sheets(Name2).Cells(1, 1) = 1 


Set Name3 = Workbooks(Name1).Sheets(Name2)
Set Name4 = Sheets(Name2)

Name3.Cells(2, 1) = 2
Name4.Cells(3, 1) = 3
End Sub

Markdown記述メモ

一般的なMarkdown記述メモ的なものを自分用に残します。

1.見出し
2.箇条書きリスト  
3.番号付きリスト  
4.改行  
5.強調(イタリック体、太文字)  
6.取り消し線  
7.特殊文字そのまま表示  
8.引用  
9.code記法  
10.水平線  
11.表テーブル  
12.リンク     

1.見出し

「# 」、「## 」、「### 」、「#### 」を先頭に入力する

# 見出し    
## 見出し    
### 見出し    
#### 見出し    

見出し

見出し

見出し

見出し

2.箇条書きリスト

「- 」、「+ 」、「* 」を先頭に入力する

- 箇条書き  
+ 箇条書き  
* 箇条書き    
  • 箇条書き
  • 箇条書き
  • 箇条書き

3.番号付きリスト

「(数字).」を先頭に入力する

1. 番号付きリスト  
1. 番号付きリスト  
1. 番号付きリスト  
  1. 番号付きリスト
  2. 番号付きリスト
  3. 番号付きリスト

4.改行

スペース2連続「 」を最後に入力する

スペース  
スペース  スペース  

スペース
スペース スペース

5.強調(イタリック体、太文字)

イタリック体斜線は「*」「_」、太文字は「**」「__」で文字を囲う

強調  
*強調*   
**強調**  
***強調***  

強調
強調
強調
強調

6.取り消し線

「~~」で文字列を囲む

~~取り消し線~~

取り消し線

7.特殊文字そのまま表示_

文字の直前に「\」を加える

#
*
-
\  

#
*
-
\

8.引用

「> 」を先頭に記入する

> 引用  
>> 引用  
>>> 引用  

引用

引用

引用

9.code記法

「```」で文字列を囲む

`バッククォート`
`バッククォート  
バッククォート`

バッククォート
バッククォート バッククォート

10.水平線

「***」、「---」または「___」を記入する

***
---
___



11.表テーブル

「|」で囲う

|Y/X|1|2|3|
|----|----|----|----|
|1|5|4|3|
|2|4|4|4|
|3|3|4|5|
Y/X 1 2 3
1 5 4 3
2 4 4 4
3 3 4 5

12.リンク

「[文字](URL)」と入力する

[Google](https://www.google.co.jp/)   

Google

特定フォルダ内のファイル名取得

VBAで動的一次配列を用いて特定フォルダ内のファイル名を取得する記事です。

  • 状況
    同階層の"test"フォルダ内のファイル名を取得し、ファイル名をエクセルシートに出力したい

  • 実施
    Activeworkbookまでのディレクトリ取得
    Dir()関数設定
    While loop構文
    ReDim Preserveによる動的1次元配列宣言

  • シート画像
    f:id:JUNx2:20201219215433j:plain

  • VBA記述

Sub test()  

Dim Folder As String  
Dim buf As String  
Dim Filelist() As String  
Dim n As Integer  
  
Folder = ThisWorkbook.Path & "test"  
buf = Dir(Folder & "/*)  
n = 0  
Do While buf <> ""  
    ReDim Preserve Filelist(n)  
    Filelist(n) = buf  
    Cells(n + 2, 2) = Filelist(n)  
    buf = Dir()  
Loop    
End Sub  

For each Next 構文

VBAセルレンジ処理に便利なFor Each Nextを用いたデータ処理の記事です。

  • 状況

    特定範囲セル内の数値に応じてセル背景を塗りつぶしたい

  • 実施
    セル背景色の取得
    For Each構文を用いた連続範囲処理
    If構文を用いた場合分け
    セル背景色塗りつぶし

  • シート画像

セル内はRand()関数で数値を埋めました f:id:JUNx2:20201219191925j:plain

Sub Test()  
  
Dim Range1, P As Range  
  
Set Range1 = Range(Cells(3, 7), Cells(8, 12))  
A = Cells(3,2).Interior.Color  
B = Cells(4,2).Interior.Color  
C = Cells(5,2).Interior.Color  
D = Cells(6,2).Interior.Color  
E = Cells(7,2).Interior.Color  
  
For Each P In Range1  
  If 0.8 <= P And P <= 1 then  
    P.Interior.Color = A  
  
  Elseif 0.6 <= P And P < 0.8 then  
    P.Interior.Color = B  
  
  Elseif 0.4 <= P And P < 0.6 then  
    P.Interior.Color = C  
  
  Elseif 0.2 <= P And P < 0.4 then  
    P.Interior.Color = D  
  
  Elseif 0 <= P And P < 0.2 then  
    P.Interior.Color = E  
  
  End If  
Next  
End Sub