sheet1,sheet2(1,2という名前)がありA1からE1まで順にID、名前、コメント、前回日、次回日という列がありこのうち次回日(E1)の日付を検索し、その日付と一致したsheet2の行の1から5列目までをsheet1に転記したい。なお検索ワードとなる日付はuserformのcombobox1にリストから選択していれるようにしています。
実際に書いたコード
Private Sub CommandButton1_Click() Dim LastRowX As Long LastRowX = Worksheets("1").Cells(Rows.Count, 1).End(xlUp).Row Dim LastRowY As Long LastRowY = Worksheets("2").Cells(Rows.Count, 1).End(xlUp).Row Range("A2", Cells(LastRowX, 5)).ClearContents Dim myRange As Range Dim myObj As Range Dim KeyDate Set myRange = Worksheets("2").Range(Worksheets("2").Cells(2, 5), Worksheets("2").Cells(LastRowY, 5)) KeyDate = CDate(ComboBox1.Text) Set myObj = myRange.Find(KeyDate, LookIn:=xlFormulas) If myObj Is Nothing Or ComboBox1 = "" Then MsgBox ComboBox1 & "はいません。" Exit Sub Else Dim mycell As Range Set mycell = myObj Do Worksheets("2").Range(Cells(mycell.Row, 1), Cells(mycell.Row, 5)).Copy Worksheets("1").Range(Cells(LastRowX + 1, 1), Cells(LastRowX + 1, 5)).Paste Set mycell = myRange.FindNext(mycell) Loop While mycell.Row <> myObj.Row End If End Sub
以上になります。
直してもエラーが出ての繰り返しで訳が分からなくなってしまいました。ちなみに素人です。
この状態ですとエラー13 方の不一致のエラーが出てしまいます。
場所は KeyDate = CDate(ComboBox1.Text)です。
このコードが思うように作動するにはどうすればいいか教えてください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 15:06
2020/05/22 23:55
2020/05/26 08:31
2020/05/26 08:55
2020/05/26 09:24
2020/05/27 00:10