Excel VBA質問箱 IV

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

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


27445 / 76732 ←次へ | 前へ→

【54606】ユーザーフォームでの計算結果の転記
質問  Regina  - 08/3/24(月) 1:10 -

引用なし
パスワード
   ユーザーフォームを使用して、顧客(リハビリ患者)リストをワークシートに転記するVBAを作っています。計算をしないといけない項目が数箇所あって、まず、生年月日の計算からコードを作っているところです。計算結果までボタンのクリックでできるようになりましたが、計算結果が、ワークシートに転記できず、「######」と代入されてしまいます。そのほかの、テキストボックスやチェックボックスの内容はきちんと転記されています。生年月日(TextBox3としています)も転記できません。年齢計算の結果はTextBox4に表示されるようにしています。
生年月日と年齢の計算結果をシートに転記できるようにしたいので、教えて下さい。

エクセルは2003でPCはXPです。最近VBAを知ったばかりで、独学状態です。
ご指導宜しくお願いします。

以下、現在まで作っているコードです。

Private Sub UserForm3_Initialize()
Dim チェックボックス As Control
Dim 日 As Date  
 
日 = UserForm3.TextBox3.Text 

TextBox1.Text = ""
TextBox2.Text = ""
TextBox6.Text = ""
TextBox9.Text = ""
TextBox4.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 →ここまでで、歳のTextBox4に年齢の値が計算されていました。
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 = TextBox3.Text
Range("データーベース!A" & z + 4).Offset(0, 7).Value = TextBox9.Text
Range("データーベース!A" & z + 4).Offset(0, 5).Value = TextBox4.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

1 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 発言

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