我是VBA的新手,想通过创建费用数据库,如何转移和制作月度数据库来学习?
如果仪表板日期与Aug17列A匹配,则将数据从仪表板移动到8月17日各行。如果可能,我希望将仪表板日期搜索到所有工作表,并在找到匹配时将数据移动到相应的行。提前致谢。 DashBoard
答案 0 :(得分:1)
根据您在评论中对我的问题的回答,这里的代码可以满足您的要求。请注意,如果找到日期,将永远不会遇到最终msgbox
。希望您能够在理解之后调整此代码以满足您的需求。
Sub test()
Dim r As Range, dashSh As Worksheet, dashR As Range, sh As Worksheet
Dim mo As String, yr As String
Set dashSh = Worksheets("Dashboard")
Set dashR = dashSh.Range("A5:J5")
mo = Application.WorksheetFunction.Text(dashR.Columns(1), "mmm")
yr = Application.WorksheetFunction.Text(dashR.Columns(1), "yy")
Set sh = Worksheets(mo & yr)
sh.Activate
Set r = sh.Range("A5")
While r <> ""
If r = dashR.Columns(1) Then
r.Select
dashR.Copy
sh.Paste
End
End If
Set r = r.Offset(1, 0)
Wend
MsgBox ("date not found")
End Sub