【发布时间】:2017-01-17 23:11:11
【问题描述】:
我正在创建月份日历。用户可以选择他们想要的月份的年份。当用户选择创建一个月时,我想选择该月的所有工作日并为其指定一个命名范围。如何为选定的月份和年份选择一系列单元格并为其指定一个命名范围?
这是录制的宏(2016 年 1 月),但我不确定如何以编程方式创建它。我不能重复使用它,因为如果用户选择不同的月份或年份,那么我将不知道哪些行列包含工作日。
range( _
"C9:D9,E9:F9,G9:H9,I9:J9,K9:L9,C11:D11,E11:F11,G11:H11,I11:J11,K11:L11,C13:D13,E13:F13,G13:H13,I13:J13,K13:L13,C15:D15,E15:F15,G15:H15,I15:J15,K15:L15,C17:D17,E17:F17" _
).Select
range("E17").Activate
ActiveWorkbook.Names.Add Name:="Test", RefersToR1C1:= _
"=PTO!R9C3,PTO!R9C5,PTO!R9C7,PTO!R9C9,PTO!R9C11,PTO!R11C3,PTO!R11C5,PTO!R11C7,PTO!R11C9,PTO!R11C11,PTO!R13C3,PTO!R13C5,PTO!R13C7,PTO!R13C9,PTO!R13C11,PTO!R15C3,PTO!R15C5,PTO!R15C7,PTO!R15C9,PTO!R15C11,PTO!R17C3,PTO!R17C5"
----我的代码示例----
For x = 1 to 42
' Determine where the 1st day falls
' Is it a weekday? Add my coordinates to an array so I can create a named range later.
Next x
CreateNamedRange(weekdayArray)
【问题讨论】:
-
请附上工作簿(一部分)的屏幕截图,以查看工作表的组织方式。
-
不确定我是否理解您的要求。当用户在一张纸上按下按钮时,我创建了一张新纸,然后从 A3 开始,我输入了一个数字,代表我所在月份的日期。因此,如果该月的第一天从星期五开始,我会移动 6 列,然后在下一列(星期六)放置一个,然后放置一个 2。然后在下一行,A4(星期日),我放了一个 3,依此类推。这有帮助吗?
-
我已添加到我的问题中。希望对您有所帮助。