SQLの窓

2018年11月21日


Excel でガントチャートを作成するテンプレート : 開始日と日数(工数)を入力

ダウンロード
(マクロ使用分:スケジュール_ガントチャート_カレンダー.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桁を最初に入力します

カレンダーボタンで日付を参照できます

カレンダーはただ閉じても日付は選択されます
posted by lightbox at 2018-11-21 15:16 | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2016年07月28日


Access から SQLServer 認証の ODBC DSN で接続しているのに、Windows 認証で勝手に接続しようとして失敗するトラブルの解決方法

おそらく、ドメイン内のユーザである為に、SQLServer のODBC の 仕様を無視して Windows 認証に変更してしまっているような現象です。複数の PC のうち発現したのは一つだけなので、なんとも言えませんが。

レジストリ エントリと SQL Server の接続文字列のキーワード

上記の Microsoft のドキュメントでは、『Trusted_Connection』が無い場合の仕様として、『既定値は SQL Server 認証です』とはっきり書かれていますが、問題の PC では、エラーメッセージの後以下のダイアログが出ます



『Windows 認証を使用する』にチェックが入っており、Access が SQLServer にアクセスする毎にエラーダイアログが出て、あとからこのダイアログが出ます。この経路でも、チェックを外せば接続できますが、余計な操作をイヤと言うほど行う必要があります。

対処方法

レジストリエディタで、Trusted_Connection=no のエントリを作成する。

このエントリを作成すると、問題は回避されました。場所は、ユーザ DSN の場合は、
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
の下にある DSN 名の中になります。






posted by lightbox at 2016-07-28 15:39 | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2015年03月14日


Excel が最大化時に、タスクバーの後ろに隠れてしまう現象の対処法 / Google Chrome だと、タスクバーが全て隠れてしまいます



対処法と言うより、それが原因でなったのが解っているのですが、どのような時になるのか良く解っていません。その原因は、『拡大鏡』です。元にもどすには、拡大鏡を起動して、表示方法として3つあるうちの、『最大化』と『固定』を変更したり、固定状態で画面上部に表示させたり、画面の中で表示させたり切り替えているうちに元に戻ったりします。

※ デスクトップ上部に張り付くような状態にすると、元に戻るようです
( 拡大鏡をドラッグしてテスクトップの上にドッキングさせます )


posted by lightbox at 2015-03-14 17:46 | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2015年02月08日


Excel 2010 : 上付き文字・下付き文字

インターネットで調べると、いくらでもヒットする使用方法ですが、Excel のセル内に数字だけを使うと、数字が計算対象だからかどうだか解りませんが、部分的な上付き・下付きがキャンセルされてしまいました。

でも、セルを文字列として設定する事によって部分的な上付き・下付きができるようになります。



また、オブジェクト内のテキストは、画像扱いになっているのかどうだか解りませんが、上付き・下付きの位置を『相対位置の%』としてユーザが指定できるようになっています。

Word では、元々機能としてありますが、Office 製品以外で上付き・下付きを実現するには、『IMEパッド』で『上付き文字・下付き文字』を選択して文字単位で利用できます。


( ※ 上付きの 1 2 3 が無いようです )


タグ:microsoft office
posted by lightbox at 2015-02-08 17:13 | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2014年11月12日


Excel の VLOOKUP 関数がエラーになる場合に後から iferror関数を追加する手順

以下のようなエラーが発生する場合、iferror 関数の中で vlookup 関数を実行すれば良いのですが、Excel の入力支援ダイアログを利用して追加します



数式バーで処理します

▼ VLOOKUP の前にカーソル
iferror( までを入力


▼ iferror の中をクリック


▼ 関数挿入ボタンをクリック


▼ エラーの場合の値に空文字を入力して OK


▼ 完成




タグ:EXCEL
posted by lightbox at 2014-11-12 16:54 | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2014年11月09日


関数の挿入ダイアログに出てこない DATEDIF 関数を引数入力ダイアログで処理する

どんな関数(未定義)でも、引数の数を最初に用意してやれば入力できます。

▼ 関数名と () と カンマで体裁だけを整えて、関数挿入ボタンをクリックします


▼ ダイアログが表示されるので、セルをクリックして参照します




▼ 入力が必要な場合は入力


▼ 処理終了




タグ:DATEDIF 関数 EXCEL
posted by lightbox at 2014-11-09 21:45 | Microsoft Office | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり