我陷入了一个相当尴尬的境地: 假设我有一个从2015年到2017年连续几天的专栏,D栏。
首先,我想找到该列中包含该月第一天的每个单元格。
其次我想为我找到的每个单元格选择同一行和2列之外的单元格(F列)。
第三,我想分别为每个单元调用一个模块(因为我开发的模块依赖于ActiveCell选择)。
最后是否可以获取与该月第一天相对应的每个单元格(在其上调用模块的单元格)并将其自动填充到包含该月最后一天的行?
Date Week Total Companytotal
23-03-15 29-mar 224 45
24-03-15 29-mar 251 37
25-03-15 29-mar 365 77
26-03-15 29-mar 404 147
27-03-15 29-mar 394 132
28-03-15 29-mar 514 123
29-03-15 29-mar 538 132
30-03-15 5-apr 472 122
31-03-15 5-apr 551 152
01-04-15 5-apr 730 163
02-04-15 5-apr 604 112
03-04-15 5-apr 511 129
04-04-15 5-apr 336 84
05-04-15 5-apr 298 98
06-04-15 12-apr 517 144
07-04-15 12-apr 507 121
08-04-15 12-apr 647 165
09-04-15 12-apr 646 181
10-04-15 12-apr 745 189
11-04-15 12-apr 643 168
12-04-15 12-apr 699 174
13-04-15 19-apr 698 174
14-04-15 19-apr 759 160
15-04-15 19-apr 937 221
16-04-15 19-apr 1013 204
17-04-15 19-apr 1263 274
18-04-15 19-apr 1055 306
19-04-15 19-apr 1173 287
20-04-15 26-apr 909 209
这是该表的一个片段(它一直到2017年)。我要称之为模块的单元格是Total,如果可能的话,还是Companytotal。
谢谢。
答案 0 :(得分:0)
遍历所有行。在循环中,检查日期是否是一个月的第一天。如果是,请选择它并激活宏(它将成为活动单元格)。当执行宏时,循环继续并对剩余的单元格执行相同的操作。
另外,尽量不要使用ActiveCell,Select等编写宏。它会让你的生活更轻松:)
答案 1 :(得分:0)
这是第3步的答案:
Sub tets()
i = 2
Do While Sheets("Sheet1").Range("D" & i).Value <> ""
If Day(Sheets("Sheet1").Range("D" & i).Value) = 1 Then
Range("F" & i).Select
SomeMacro
End If
i = i + 1
Loop
End Sub
关于你的上一个问题:有可能,但我不明白,你要填写哪些栏目以及范围是什么(从第一天到最后一天,我是对的?)