2016-06-11 13 views
2

次のコードが見つかりました。ただし、月を手動で変更して2番目のワークブックの右側のシートに移動する必要があります。枚数は数ヶ月ですので、どうすれば今月まで自動的に変更できますか?Excel -Macro-日付値に基づいてデータをコピー&ペーストする

Sub AlarmSheet() 
Dim wkb As Workbook, wks As Worksheet, LastRow As Long 
Dim FilePath As String, FileName As String 
Dim ws As Worksheet, blnOpened As Boolean 

'Change these variables as desired... 
FilePath = "B:\CARECENT\28 Day\" 'change path here 
FileName = "Installs_Removals_2016.xlsm" 'change name here 
    Call ToggleEvents(False) 
Set ws = ThisWorkbook.Sheets("SHA") 'change source sheet name here 
If WbOpen(FileName) = True Then 
    Set wkb = Workbooks(FileName) 
    blnOpened = False 
Else 
    If Right(FilePath, 1) <> Application.PathSeparator Then 
     FilePath = FilePath & Application.PathSeparator 
    End If 
    Set wkb = Workbooks.Open(FilePath & FileName) 
    blnOpened = True 
End If 
Set wks = wkb.Sheets("June") 'change destination sheet name here 
LastRow = wks.Cells.Find(what:="*", after:=wks.Cells(1, 1), searchorder:=xlByRows, searchdirection:=xlPrevious).Row + 1 
wks.Cells(LastRow, "A").Value = ws.Cells(63, "B").Value 
wks.Cells(LastRow, "B").Value = ws.Cells(6, "B").Value 
wks.Cells(LastRow, "C").Value = ws.Cells(7, "B").Value 
wks.Cells(LastRow, "I").Value = ws.Cells(9, "B").Value '& "," & ws.Cells(10, "B").Value & "," & ws.Cells(11, "B").Value 
wks.Cells(LastRow, "J").Value = ws.Cells(10, "B").Value 
wks.Cells(LastRow, "N").Value = ws.Cells(11, "B").Value 
wks.Cells(LastRow, "O").Value = ws.Cells(15, "B").Value 
wks.Cells(LastRow, "P").Value = ws.Cells(60, "B").Value 

If blnOpened = True Then 
wkb.Close SaveChanges:=True 
End If 
'If MsgBox("Clear values?", vbYesNo, "CLEAR?") = vbYes Then 
    'Call ClearData 
End If 
Call ToggleEvents(True) 
End Sub 
+1

@Jason Bradyに謝辞を書いてください。例えば、変数を宣言する方が良いと感じています〜Dim shnew As String shnew = Format(Date、 "mmmm")〜Set wks lineでshnewを使います。 – skkakkar

答えて

1

「June」をFormat(Date, "mmmm")に置き換えることができます。これにより、現在の日付の月だけが表示されます。

関連する問題