Workbook_Open()にやらかしマクロ書いちゃったときなどに使います。
- Excelを起動する。
- メニューの「開く」を選択。
- 「ファイルを開く」ダイアログで、開きたいファイルをクリック。
- Shiftを押しながら「開く」をクリック。
Workbook_Open()にやらかしマクロ書いちゃったときなどに使います。
MsgBox ActiveSheet.Shapes(Application.Caller).Left
MsgBox ActiveSheet.Shapes(Application.Caller).Top
MsgBox ActiveSheet.Shapes(Application.Caller).Width
MsgBox ActiveSheet.Shapes(Application.Caller).Height
$A$2 とかの書式ならこちら
MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
EndsWith()を使う
if(!str.EndsWith("\r\n")) str+="\r\n";
サイズわかってるならStringBuilderのCapacityを指定しておくと高速。
ADO(ActiveX Data Objects) 使う
Sub Sample1() Dim buf As String, Target As String Target = "D:\Work\UTF-8のテキスト.txt" With CreateObject("ADODB.Stream") .Charset = "UTF-8" .Open .LoadFromFile Target buf = .ReadText .Close MsgBox buf End With End Sub
Debug.Print Range("A1").Row & "," & Range("A1").Column
Range("E1").PasteSpecial
などするときは
'描画停止 Application.ScreenUpdating = False
はしないようにしましょう。
使い方メモ
lookback という指定があるが、
これはデータ配列でまとめて渡して計算させると、
lookback 単位で複数一気に計算してくれるものらしい。
連続した指標を作るときに何回も同じ関数呼ばなくてもいいのですね。便利。
new した配列に向けてToArray()からのCopyTo()
List<object> sellist = new List<object>(); .... double[] calcdata = new double[sellist.Count()]; sellist.ToArray().CopyTo(calcdata, 0);
浮動小数点は誤差がでちゃう。
できるなら乗算して整数にしてあつかうようにしたほうがいいけど
小数点第2までしか扱わない、とか仕様決めれば
atof("2.01")したら+0.001などして誤差修正するといい場合もあるかもね
なんにしろ、実装次第。