我是VBA和宏的新手,并且希望通过自动化我的“时间表跟踪” Excel的一部分来学习它。
这个想法是,我总是在一个单元格中输入新的日历周作为提醒(因此这是手动完成的。)
宏应该做什么:
1)复制一个单元格,该单元格汇总了我所有的工作时间(因此一个特定的单元格)。此值在工作表“每周时间表”中
2)取这个值,如果这个值(日历周数)在一个范围内(该范围是每个日历周的列表,则查找另一个工作表(“年度概述”),因此1到52 ,它是A列),如果是,则将复制的值粘贴到C列中。
您能帮我吗?在我开始做的代码下面。 感谢您的帮助!
Sub
If Worksheets("Week Timesheet").Range("K6").Value = Worksheets("Year Overview").Range("A2:53").Value Then
Worksheets("Week Timesheet").Range("I37").Select
Selection.Copy
Sheets("Year Overview").Select
Range("C11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
答案 0 :(得分:0)
我不确定我是否理解正确。您是否希望每次都在Cell(“ C11”)中复制星期值?因此,该值每次都会被覆盖。您最好要对值进行汇总,对吗?我做了两个版本,希望对您有所帮助:
版本(1):覆盖单元格(“ C11”) 版本(2):汇总单元格(“ C11”)
Sub insertworkinghours()
Dim i As Integer
For i = 1 To 52
If Worksheets("Week Timesheet").Range("K6").Value = Worksheets("YearOverview").Cells(1, 1 + i).Value Then
Worksheets("Year Overview").Range("C11").Value = Worksheets("Week Timesheet").Range("I37").Value '(Version 1)
Worksheets("Year Overview").Range("C11").Value = Worksheets("Year Overview").Range("C11").Value + Worksheets("Week Timesheet").Range("I37").Value '(Version 2)
End If
Next
End Sub