Excel VBA質問箱 IV

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

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


7353 / 13644 ツリー ←次へ | 前へ→

【39596】年齢計算について てっちゃん 06/6/27(火) 11:22 質問[未読]
【39600】Re:年齢計算について いなば 06/6/27(火) 11:47 発言[未読]
【39601】Re:年齢計算について てっちゃん 06/6/27(火) 12:06 発言[未読]
【39653】Re:年齢計算について ハト 06/6/28(水) 11:59 発言[未読]

【39596】年齢計算について
質問  てっちゃん  - 06/6/27(火) 11:22 -

引用なし
パスワード
   おはようございます。
よろしくお願いします。
シート1にコンボボックス1〜4とテキストボックス1を貼り付けています。
コンボボックス1には「年号」、2には「年」、3には「月」、4には「日」、テキストボックスには「年齢」を入れるのですが、コンボボックス1〜4に入れたら、テキストボックスに自動に年齢が計算されて入るってことは可能なことですか?
是非、よろしくお願い致します。

【39600】Re:年齢計算について
発言  いなば  - 06/6/27(火) 11:47 -

引用なし
パスワード
   ▼てっちゃん さん:
>おはようございます。
>よろしくお願いします。
>シート1にコンボボックス1〜4とテキストボックス1を貼り付けています。
>コンボボックス1には「年号」、2には「年」、3には「月」、4には「日」、テキストボックスには「年齢」を入れるのですが、コンボボックス1〜4に入れたら、テキストボックスに自動に年齢が計算されて入るってことは可能なことですか?
>是非、よろしくお願い致します。

年号はどのようなデータが入るのか?
年齢算出の基準となる日はいつなのか?
そもそも、コンボボックス1〜4の日付が生年月日だと判断してもいいんでしょうか?

私だったらコンボボックス1〜4のデータをくっつけてCDateで日付データに変換して、年際算出基準の日とDatedifで年齢を算出すると思います。
テキストボックスに表示するタイミングは、コンボボックス4のチェンジイベントでやると思います。

【39601】Re:年齢計算について
発言  てっちゃん  - 06/6/27(火) 12:06 -

引用なし
パスワード
   ▼いなば さん:
>▼てっちゃん さん:
>>おはようございます。
>>よろしくお願いします。
>>シート1にコンボボックス1〜4とテキストボックス1を貼り付けています。
>>コンボボックス1には「年号」、2には「年」、3には「月」、4には「日」、テキストボックスには「年齢」を入れるのですが、コンボボックス1〜4に入れたら、テキストボックスに自動に年齢が計算されて入るってことは可能なことですか?
>>是非、よろしくお願い致します。
>
>年号はどのようなデータが入るのか?
>年齢算出の基準となる日はいつなのか?
>そもそも、コンボボックス1〜4の日付が生年月日だと判断してもいいんでしょうか?
>
>私だったらコンボボックス1〜4のデータをくっつけてCDateで日付データに変換して、年際算出基準の日とDatedifで年齢を算出すると思います。
>テキストボックスに表示するタイミングは、コンボボックス4のチェンジイベントでやると思います。

すみません。生年月日なんですが、例えば年号に昭和・年に51・月に3・日に14と入れたらテキストボックス30と出るという意味なんですが、まったくもって初心者な者で・・・コードもまったくと言っていいくらいわかりません・・・。

【39653】Re:年齢計算について
発言  ハト  - 06/6/28(水) 11:59 -

引用なし
パスワード
   おはようございます
とりあえず、やり方のヒントという事で

※前提条件
『Sheet1』に『ComboBox1』,『TextBox1』を作成

※標準モジュール※
Sub Set_CBX1()

    With ThisWorkbook.Worksheets("Sheet1").ComboBox1
      .AddItem "昭和50年"
      .AddItem "平成1年"
      .AddItem "平成10年"
    End With
    
End Sub


※シートモジュール※
Private Sub ComboBox1_Change()

Dim TDate As Date
Dim TAge As Integer

  TDate = CDate(Me.ComboBox1.Value & "11月" & "11日")

  TAge = DateDiff("yyyy", TDate, Now)

  Me.TextBox1.Value = TAge
  
End Sub

標準モジュールを動かした後、コンボボックスの内容を変えてみてください
年齢算出の詳細に関しては過去ログを参照してください

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