エクセル マクロ 教えてください。
sheet1に (a1=No. b1=月日 C1=項目 d1=収入 e1=支出 f1=摘要 G1=店名)項目を作りそれらをユーザーフォームを作り入力したいです。
この記述では上手く動けません。教えてください。
Private Sub CommandButton1_Click()
Dim r As Long, 最終行 As Long, 項目行 As Long
Dim re As String
r = textboxs1.Value + 10
最終行 = Worksheets("入力").Range("B65536").End(xlUp).Row
If r <= 最終行 Then
re = MsgBox("訂正" & " " & "すでにデータが入力されています。" & Chr(13) & _
Chr(13) & "データを置き換えます。 本当に良いですか? ", _
Buttons:=vbYesNo + vbExclamation, Title:="注意!!")
If re = vbYes Then
With Worksheets("入力")
.Cells(r, 2).Activate
.Cells(r, 1).Value = TBox1.Value
.Cells(r, 2).Value = TBox2.Value
.Cells(r, 3).Value = ComboBox1.Value
.Cells(r, 4).Value = TBox3.Value
.Cells(r, 5).Value = TBox4.Value
.Cells(r, 6).Value = TBox5.Value
.Cells(r, 7).Value = ComboBox2.Value
End With
データクリア
Exit Sub
End If
データクリア
Exit Sub
End If
If r >= 最終行 + 1 Then
r = 最終行 + 1
End If
With Worksheets("入力")
.Cells(r, 1).Value = TBox1.Value
.Cells(r, 2).Value = TBox2.Value
.Cells(r, 3).Value = ComboBox1.Value
.Cells(r, 4).Value = TBox3.Value
.Cells(r, 5).Value = TBox4.Value
.Cells(r, 6).Value = TBox5.Value
.Cells(r, 7).Value = CBomboox2.Value
End With
データクリア
End Sub
r = データNo + 10
With Worksheets("入力")
.Activate
.Cells(r, 2).Select
TBox1.Value = .Cells(r, 1).Value
TBox2.Value = .Cells(r, 2).Value
ComboBox1.Value = .Cells(r, 3).Value
TBox3.Value = Format(.Cells(r, 4).Value, "###,###")
TBox4.Value = Format(.Cells(r, 5).Value, "###,###")
TBox5.Value = .Cells(r, 6).Value
ComboBox2.Value = .Cells(r, 7).Value
End With
Exit Sub
End If
If データNo > 最終行 - 10 Then
データNo = 最終行 - 9
TBoxNo.Value = データNo
データクリア
End If
End Sub
お礼
回答ありがとうございます。できました!