teematsu @ ウィキ
Excel
最終更新:
teematsu
参考になるサイト
ファイルダブルクリック時に新しいウィンドウで開く
ファイルの種類の設定で、XLSに対し、新しいアクション(「新規ウィンドウで開く」など)を定義する。 アクションを実行するアプリケーションとして、
"(EXCEL.EXEがあるフォルダ)\EXCEL.EXE" "%1"
を指定する。
http://www.trickpalace.net/windows/tips/excel.open.window.htm
テンプレート
シート追加時のテンプレート
シート数1のExcelファイルをテンプレート(*.xlt)として以下のフォルダに保存。
C:\<os>\Profiles\<User_name>\Application Data\Microsoft\Templates
Excel関数
データ型
- ISNUMBER
- ISERROR (#VALUE!などのエラーの場合はTRUE)
文字列
- SEARCH, FIND (文字列の出現位置を検索。見つからない場合は#VALUE!)
マクロ
ユーザ定義関数の作成
[ツール]-[マクロ]-[Visual Basic Editor]
エディタが開く
[挿入]-[標準モジュール]
関数定義は
Function foo(param1, param2 As Range, param3 As String) foo = 返却値 End Function
セルの値は、計算の入力となるセルの値が変われば自動計算されるが、 「入力となるセル」は、セルに記入した式の中に直接登場するセルとなる。 ユーザ定義関数から直接Range("A2")のようにセルを参照すると、 A2が変化しても自動計算はされない。 自動計算されるようにするには、ユーザ定義関数の引数として、セルの参照 (Range)を受け取るようにする。
基本構文
Dim 変数名 As 型 変数名 = 式 Set 変数名 = 式 (オブジェクトを代入する場合) 'コメント If 式 Then End If For i=0 to 10 Next For Each 変数名 in なんとか Next Exit For (Cのbreak) Exit Function (Cのreturn)
演算子
比較
=
文字列結合
+ 結合 オペランドが数値に解釈できる場合は数値演算となるっぽい & 結合
論理
and or
Rangeについて
どれもRangeが取得できる
Range("A1") Range("sheet!A1:B4") Cells(y,x) range.Rows
http://www.ne.jp/asahi/hishidama/home/tech/excel/range.html
Excelのセルで使える標準関数をマクロから利用する
WorksheetFunction.関数名(引数,引数,...)
範囲に名前をつける
範囲を選択して名前ボックス(画面左上)に名前を入れる。
名前ボックスの下矢印で、定義済み名前一覧を参照できる。
範囲を変更する、削除するには、[挿入]-[名前]-[定義]
A2:B4のような記述の変わりに、名前を使用できる。
=SUM(hogehoge)
変化があったときに何かする
条件付き書式で4つ以上の条件を指定-Worksheet_Changeイベントプロシージャ
http://www.relief.jp/itnote/archives/002293.php
16進数文字列に変換
Function tohex(val) tohex = Hex(val) End Function
意図的にエラーを発生させる
Err.raise (詳細はヘルプ参照)
Err.Raise Number:=513, Description:="サブタイトルの列が見つかりません。"
VBA
関数
文字列
-
Format
数値、日付、文字列の書式変換 -
Replace
文字列置き換え