2017-06-26 3 views
-1

サブAll_Data()VBA - 2つの入力日付を取り、日付の列を検索し、範囲を新しいシートにコピーします。

UserForm8.Show DATE1 = CDate関数(UserForm8.TextBox1.Value) DATE2 = CDate関数として日付 暗いマッチようDATE2暗く 日付として

薄暗いDATE1(UserForm8.TextBox2 .VALUE) アンUserForm8

...

End Subの

+0

あなたの質問は何ですか? – dwirony

+0

どこから始めますか? haha ...私は様々な方法を試しましたが、ほとんどがエラーになります。 – ChemE773

+0

あなたはuserformを使用しています - どのようにuserformが呼び出されていますか?検索を開始するために「OK」ボタンを押すだけで、ユーザーフォームから右に移動するのはなぜですか? 2つの日付の値を取得したら、値を検索する列をループして一致する場合は、行全体(または表示している範囲)を新しいシートにコピーします。 – dwirony

答えて

0

これは、必要なものを別のシートに貼り付けるために使用できるものです。これは列Aに貼り付けるだけですが、必要に応じて範囲を長く設定することもできます。マクロはdate1とdate2をとり、2つの日付の間のすべての行を見つけて、新しいシートに転送します。

Sub pastingdates() 
Dim i As Integer 
Dim j As Integer 
Dim sht As Worksheet 
Dim lastrow As Long 
Dim date1 As String 
Dim date2 As String 

date1 = UserForm8.TextBox1.Value 
date2 = UserForm8.TextBox2.Value 
Set sht = ThisWorkbook.Worksheets("Sheet1") 
lastrow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 

For i = 1 To lastrow 
    If Range("A" & i).Value = date1 Then 
     For j = i To 5 
      If Range("A" & j).Value = date2 Then 
       'Destination/_ Source 
       ActiveWorkbook.Sheets("Sheet2").Range("A" & i & ":A" & j).Value = _ 
       ActiveWorkbook.Sheets("Sheet1").Range("A" & i & ":A" & j).Value 
      End If 
     Next j 
    End If 
Next i 

End Sub 
関連する問題