ダウンロード (マクロ使用分:スケジュール_ガントチャート_カレンダー.xlsm と 非使用分:スケジュール_ガントチャート.xlsx) WBSガントチャートをExcelで作ってみた というページからダウンロードできる Excel はとても使いやすく( 2か月の表示 )単純にできていました。( 2013年08月30日 で更新が止まっています ) さっそく使ってみましたが、少し問題点があったので『修正』と『追加仕様』を行いました。 1) Workday 関数の使い方が、金曜で日数が終わった場合に土日を含んだ完了日になっていたので修正 2) 日付の入力が、手入力なので VBA の Form + DTPicker でカレンダー入力を可能にした1) の修正は以下のページを参考にしました Excel2010:土日なら前の平日を返す(WORKDAY関数・WEEKDAY関数 ) 2) の追加仕様は、Form と DTPicker を使用しましたが、VBA におけるイベント処理を詳細にコントロールする術が無く、Form で何をしても選択されている日付をセルに転送するようになっています。 ただ、対象列以外でカレンダーボタンをクリックした場合はエラーにしています。 また、Formを開いた時に DTPicker を開かせる為に SendKeys を使用しているのですが、Numlock が OFF になるバグがあったので、以下のページのコードを利用して対処しました。 VBAの「Sendkeys」についての質問です。 UserForm1
Private Sub DTPicker1_CloseUp()
ActiveCell.Value = DTPicker1.Value
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
Call saveNumLock
SendKeys ("%{DOWN}")
Call numLockCheck
End Sub
Module1
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" _
(pbKeyState As Byte) As Long
Const VK_NUMLOCK = &H90 '「NumLock」キー
Const KEYEVENTF_EXTENDEDKEY = &H1 'キーを押す
Const KEYEVENTF_KEYUP = &H2 'キーを放す
Dim NumLockState As Boolean
Dim keys(0 To 255) As Byte
Sub カレンダー参照_Click()
Dim no
no = ActiveCell.Column
If no <> 5 Then
MsgBox ("開始日のセルを選択してください")
Exit Sub
End If
UserForm1.Show
End Sub
Sub saveNumLock()
GetKeyboardState keys(0)
NumLockState = keys(VK_NUMLOCK)
End Sub
Sub numLockCheck()
'「NumLock」キーがオンだった場合はオンにする。
If NumLockState Then
'キーを押す
keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
'キーを放す
keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
使用方法開始と休日設定に、開始日と休日を設定します(土曜と日曜は休日なのでそれ以外の非稼働日です) ガントチャートの開始日に日付を入力して、工数に日数を入力します 日付は、月から入力すると現在の年になります 現在以外の年を使用する場合は、18/12/1 のように年の下2桁を最初に入力します カレンダーボタンで日付を参照できます カレンダーはただ閉じても日付は選択されます![]()


1) の修正は以下のページを参考にしました


『Windows 認証を使用する』にチェックが入っており、Access が SQLServer にアクセスする毎にエラーダイアログが出て、あとからこのダイアログが出ます。この経路でも、チェックを外せば接続できますが、余計な操作をイヤと言うほど行う必要があります。
対処方法
レジストリエディタで、Trusted_Connection=no のエントリを作成する。
このエントリを作成すると、問題は回避されました。場所は、ユーザ DSN の場合は、
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
の下にある DSN 名の中になります。
対処法と言うより、それが原因でなったのが解っているのですが、どのような時になるのか良く解っていません。その原因は、
また、オブジェクト内のテキストは、画像扱いになっているのかどうだか解りませんが、上付き・下付きの位置を『相対位置の%』としてユーザが指定できるようになっています。
Word では、元々機能としてありますが、Office 製品以外で上付き・下付きを実現するには、『IMEパッド』で『上付き文字・下付き文字』を選択して文字単位で利用できます。
( ※ 上付きの 1 2 3 が無いようです )
数式バーで処理します
▼ VLOOKUP の前にカーソル
▼ iferror( までを入力
▼ iferror の中をクリック
▼ 関数挿入ボタンをクリック
▼ エラーの場合の値に空文字を入力して OK
▼ 完成
▼ ダイアログが表示されるので、セルをクリックして参照します
▼ 入力が必要な場合は入力
▼ 処理終了
※ エキスパートモードで表示しています
アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります


