Excel VBA質問箱 IV

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

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


27426 / 76732 ←次へ | 前へ→

【54625】ユーザーフォームでの計算結果の転記
発言  Regina  - 08/3/24(月) 23:25 -

引用なし
パスワード
   焦っていたので、詳しい内容を記載しておりませんでした。すみません。
ワークシート名:データーベース
   入力データー名:患者ID
           氏名
           性別
           生年月日
           年齢
           入院・外来
           発症日・起算日
           主治医・処方医
           診断名
           種別
           算定期限
           転機
    登録ボタン:クリックするとデーター入力用のユーザーフォームを表示
          (ユーザーフォーム名:UserForm3)

UserForm3:
 患者ID→TextBox1 氏名→TextBOx2 
 性別→Frame8内に「男」はOptionButton1、「女」はOptionButton2
 生年月日→TextBox3 年齢→TextBox4 
 入院・外来→Frame2内に「入院」はOptionButton3、「外来」はOptionButton4
 入院日→TextBox5 診断名→TextBox6 主治医・処方医→TextBox9
 種別→Frame9内に CheckBox1〜CheckBox8まで
 発症日・起算日→TextBox7 算定期限日→TextBox8
 転機→Frame10内にCheckBox9〜CheckBox12
 登録ボタン→CommandButton1  キャンセルボタン→CommandButton2

UserForm3で入力した内容を、データーベースと名づけたワークシートに転記しようとしています。データーベースの最後の行に追加していく形で登録していくように設定しています。UserForm3の内容の生年月日・年齢は設定しているのですが、転機できません。「入院日」「発症日・起算日」「算定期限日」はまだ設定できていません。「入院日」「発症日・起算日」はそれぞれ日付を入力する予定です。「算定期限日」は「発症日・起算日」より所定の数字を足した日付が表示されるようにしたいと思っています。UserForm3内で、チェックボックスやオプションボタン、登録ボタン、キャンセルボタンの動作は正常に行われています。
また、ワークシートのデーターベース上の登録ボタンも正常に行われています。

UserForm3での「生年月日→TextBox3」ではS(昭和)・T(大正)などで表示・入力したいのですが、設定が分からず、1978/7/28 という入力方式になっています。「年齢→TextBox4」は CommandButton3をクリックすることで、 「生年月日→TextBox3」から現在の年齢を計算して表示するところまで出来ています。
ただ、 「生年月日→TextBox3」も。「年齢→TextBox4」も、ワークシートのデーターベースに転記できていません。「生年月日→TextBox3」の転記は空白になっており、「年齢→TextBox4」の転記は######となっています。

以下がコード現在までに作ったコードになっております。

Private Sub UserForm3_Initialize()
Dim チェックボックス As Control
Dim 日
 
日 = Format(TextBox3, "yyyy/m/d")

TextBox1.Text = ""
TextBox2.Text = ""
TextBox6.Text = ""
TextBox9.Text = ""
 
OptionButton1.Value = True
OptionButton3.Value = True


For Each チェックボックス In Freme9.Controls
 チェックボックス.Value = False
Next

For Each チェックボックス In Freme10.Controls
 チェックボックス.Value = False
Next


End Sub
Private Sub CommandButton3_Click()
With Me.TextBox3
If Not IsDate(.Value) Then Exit Sub
Me.TextBox4.Value = Application.Evaluate("DATEDIF(""" _
   & CDate(.Value) & """,TODAY(),""Y"")")

End With
End Sub
Private Sub CommandButton1_Click()
Dim z As Long
Dim 確認 As Integer

確認 = MsgBox("データーを登録します。" & "よろしいですか?", vbYesNo)
If 確認 <> vbYes Then Exit Sub

z = Range("データーベース!A4").CurrentRegion.Rows.Count
Range("データーベース!A" & z + 4).Offset(0, 0).Value = TextBox1.Text
Range("データーベース!A" & z + 4).Offset(0, 1).Value = TextBox2.Text
Range("データーベース!A" & z + 4).Offset(0, 8).Value = TextBox6.Text
Range("データーベース!A" & z + 4).Offset(0, 4).Value = 日
Range("データーベース!A" & z + 4).Offset(0, 5).Value = TextBox4.Text
Range("データーベース!A" & z + 4).Offset(0, 7).Value = TextBox9.Text

If OptionButton1.Value = True Then
  Range("データーベース!A" & z + 4).Offset(0, 2).Value = "男性"
Else
  Range("データーベース!A" & z + 4).Offset(0, 2).Value = "女性"
End If
  
If OptionButton3.Value = True Then
  Range("データーベース!A" & z + 4).Offset(0, 5).Value = "入院"
Else
  Range("データーベース!A" & z + 4).Offset(0, 5).Value = "外来"
End If

If CheckBox1.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "運動器"
If CheckBox2.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "脳血管"
If CheckBox3.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "呼吸器"
If CheckBox4.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "心大血管"
If CheckBox5.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "手技消炎"
If CheckBox6.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 9).Value = "器具消炎"
  
  
If CheckBox9.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 11).Value = "終了"
If CheckBox10.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 11).Value = "中止"
If CheckBox11.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 11).Value = "転院・入所"
If CheckBox12.Value = True Then _
  Range("データーベース!A" & z + 4).Offset(0, 11).Value = "死亡退院"


Unload UserForm3
End Sub

Private Sub CommandButton2_Click()
Unload UserForm3
End Sub


Private Sub UserForm_Click()

End Sub
   

0 hits

【54606】ユーザーフォームでの計算結果の転記 Regina 08/3/24(月) 1:10 質問
【54608】Re:ユーザーフォームでの計算結果の転記 ichinose 08/3/24(月) 8:45 発言
【54617】Re:ユーザーフォームでの計算結果の転記 Jaka 08/3/24(月) 16:22 発言
【54618】Re:ユーザーフォームでの計算結果の転記 VBWASURETA 08/3/24(月) 17:28 質問
【54619】Re:ユーザーフォームでの計算結果の転記 VBWASURETA 08/3/24(月) 17:53 発言
【54620】Re:ユーザーフォームでの計算結果の転記 VBWASURETA 08/3/24(月) 18:10 発言
【54625】ユーザーフォームでの計算結果の転記 Regina 08/3/24(月) 23:25 発言
【54631】Re:ユーザーフォームでの計算結果の転記 VBWASURETA 08/3/25(火) 9:06 回答
【54632】Re:ユーザーフォームでの計算結果の転記 VBWASURETA 08/3/25(火) 9:13 発言
【54673】Re:ユーザーフォームでの計算結果の転記 Regina 08/3/25(火) 21:46 発言

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