Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


74442 / 76732 ←次へ | 前へ→

【6757】Re:修正個所を教えてください(期間計算)
回答  角田 WEB  - 03/7/31(木) 16:00 -

引用なし
パスワード
   こんにちは。
>下記のVBAをネット上で見つけたのですが
引用する場合は、ちゃんと出典を提示してください。
ましてや、コードを丸々全部なら絶対に!
それが利用させてもらう側のマナーです。
検索したら↓のようですが‥‥‥
http://ww4.enjoy.ne.jp/~yaayaa/
http://ww4.enjoy.ne.jp/~yaayaa/main41.html

>sdy = Year(sdv): sdm = Month(sdv): sdd = Day(sdv)
>edy = Year(edv): edm = Month(edv): sdd = Day(edv)
コピペを間違えてますね。2行目の[sdd]は[edd]ですよ。

>下記のVBAをネット上で見つけたのですが、
>私の解読力では、「picture1.cls」の意味も分かりませんでした。
そのコードはVBAではなく、VBのものです。
VBAには『ピクチャボックス』というコントロールは有りません。

> picture1.cls
> picture1.Print y; "年"; m; "月"; d; "日"
ピクチャボックスコントロール[picture1]に対して
表示をクリアしてから、[y 〜]以降の内容を表示  という意味です

>どのようにすれば、動きますでしょうか
とりあえずは、picture1 の代わりに、TextBox2 を用意して
Private Sub Command2_Click()
Dim sd As String, ed As String
Dim y As Integer, m As Integer, d As Integer
  sd = Text1.Text
  ed = Text1.Text
  Call kikan2(sd, ed, y, m, d)
  TextBox2.Value = y & "年" & m & "月" & d & "日"
End Sub
とすれば動くでしょう。ただし、その結果が、m070504さんの期待通りの結果
かどうかは判りません。

パッと見たところ
 ・開始月と終了月の端数日数合計で「日数」
 ・両端の端数日数部分を除いた、真ん中の「正味の暦通りの【月】」の
  数から「y年mヶ月」
 ・「日数」が31日を越えていたら、「月」にシフトアップ
という計算方法のようです。
m070504さんの会社の就業期間の計算方法に合っていますか?
少なくとも、標準の期間計算方法である民法の規定には合っていません。
ただし、m070504さんの会社の規則に合っているのなら、何ら問題はありません。
期間計算は「当事者間での取り決め」に合っているかどうかが基本ですから。

期間計算については下記を読んで下さい。
http://www.h3.dion.ne.jp/~sakatsu/period_topic.htm

民法に即した期間計算マクロは↓で出来ます。
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips05.htm
>採用日と退職日も含まれるように
↓の『+1』を外せば「初日算入」になります
>>dtm起算日 = 開始日 + 1  '民法規定[初日 不算入]

ただし、期間計算、特に就業期間の計算は会社によって様々ですから、
就業規則または、担当者に先ずは確認する事ですね。
「月半ばの入社/退社」でも『その月丸々1ヶ月と見故す』という規則の
所もありますし‥‥‥
0 hits

【6737】修正個所を教えてください(期間計算) m070504 03/7/30(水) 12:31 質問
【6757】Re:修正個所を教えてください(期間計算) 角田 03/7/31(木) 16:00 回答

74442 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free