2015年3月30日月曜日

[Excel] 時刻を使うグラフ軸でメモリ間隔の調整

Excelで時間/時刻をグラフに軸に使用する場合は、目盛間隔のデフォルトはExcelが自動的に調整するので、概ねキリの良い目盛間隔にならない。

また1日(24H)を1とする数値で表現しているので、目盛間隔を分かりやすく調整するには時刻の少数値を指定する必要がある。これはグラフの「軸のオプション」から以下の目盛間隔を指定すれば良い。

(表)Excelの目盛間隔のサンプル一覧
目盛間隔算出式指定する値
24時間11
12時間1/20.5
6時間1/40.25
3時間1/80.125
1時間1/240.041666667
30分1/24/20.020833333
15分1/24/40.010416667
10分1/24/60.006944444
5分1/24/120.003472222
1分1/24/600.000694444
30秒1/24/60/20.000347222
15秒1/24/60/40.000173611
10秒1/24/60/60.000115741
5秒1/24/60/125.78703703703704E-5
1秒1/24/60/601.15740740740741E-5

5秒以下の指数表記は、そのまま使用できる。なお Excel2010 ならば計算式でも入力が可能であったが、Excel2013 では少数しか受け付けてくれないようです。

■ 参考資料

グラフの縦 (数値) 軸の目盛を変更する(Microsoft)
https://support.office.com/

2015年3月14日土曜日

[MSAccess] ナビゲーション ウィンドウの表示を更新する

VBAでテーブル等を作成した後は、未だナビゲーション ウィンドウに表示されていない。この場合にナビゲーション ウィンドウの表示を更新する方法です。

特定のテーブルを表示する方法
Call DoCmd.SelectObject(ObjectType:=AcObjectType.acTable, ObjectName:="テーブル名", InDatabaseWindow:=True)

ナビゲーション ウィンドウをリフレッシュして、最新の状態を表示する方法
Application.RefreshDatabaseWindow

[MSAccess] 開いているフォームを全て閉じる

Microsoft Access で開いているフォームを全て閉じる方法です。

Form を全て閉じるサンプル
Dim AccObj As AccessObject
For Each AccObj In CurrentProject.AllForms
  If AccObj.IsLoaded Then
    DoCmd.Close AcObjectType.acForm, AccObj.Name, AcCloseSave.acSaveNo
  End If
Next

■ 参考資料

CurrentProject.AllForms プロパティ
https://msdn.microsoft.com/ja-jp/library/office/ff193455.aspx

Is it possible to use VBA code to close all open objects (forms, tables etc.)?
http://bytes.com/topic/access/answers/614454-possible-use-vba-code-close-all-open-objects-forms-tables-etc

[MSAccess] 開いているテーブルを全て閉じる

Microsoft Access データシート ビューで開いているテーブル、クエリを閉じる方法です。以下は開いているテーブルを全て閉じるサンプルです。特定のテーブルだけ閉じるには、DoCmd.Close メソッドでテーブル名を引数で指定すればよい。

Table を閉じる場合
Dim AccObj As AccessObject
For Each AccObj In CurrentData.AllTables
  If AccObj.IsLoaded Then
    DoCmd.Close AcObjectType.acTable, AccObj.Name, AcCloseSave.acSaveNo
  End If
Next


Query を閉じる場合
For Each AccObj In CurrentData.AllQueries
  If AccObj.IsLoaded Then
    DoCmd.Close AcObjectType.acQuery, AccObj.Name, AcCloseSave.acSaveNo
  End If
Next


■ 参考資料

AllTables オブジェクト (Access)
https://msdn.microsoft.com/ja-jp/library/office/ff193974.aspx
データベースの開いているテーブルをすべて表示するには、AllTables コレクションの各 AccessObject オブジェクトの IsLoaded プロパティを使用します。