|
楼主 |
发表于 2024-4-18 07:40
|
显示全部楼层
- function test(){
- Range("c3:ch4,c6:ch14,c16:ch27").ClearContents()
- let [year , month ] = Range("a1").Value2.match(/\d+/g), dateArr = []
- let n = new Date( year , month, 0).getDate()
- let weekdays = [ "星期日","星期一","星期二","星期三","星期四","星期五",null]
- for (let i = 1 ; i <= n ; i ++){
- let weekdayindex = new Date(year,month-1,i).getDay()
- dateArr.push([ month +"月" + i + "日" , weekdays[weekdayindex]])
- }
- dateArr = dateArr.filter(v=>v[1]!=null)
- let k = 0
- for(let i in dateArr){
- Cells(3 , 3 * i + 3).Value2 = dateArr[i][0]
- Cells(4 , 3 * i + 3).Value2 = dateArr[i][1]
- for(let m=6;m<=14;m++) {Cells(m,3 * i + 3).Resize(1,3).Value2 = dateArr[i][1] == "星期日" ? Array(1).fill([null,null,null]) : Array(1).fill([Range("b"+m).Value2,Range("b"+m).Value2,null])}
- for(let n=16;n<=27;n++){Cells(n,3 * i + 3).Resize(1,3).Value2 = dateArr[i][1] == "星期五" ? Array(1).fill([Range("b"+n).Value2,Range("b"+n).Value2,null]) : dateArr[i][1] == "星期日" ? Array(1).fill([null,null,Range("b"+n).Value2]):Array(1).fill([Range("b"+n).Value2,Range("b"+n).Value2,Range("b"+n).Value2])}
-
- }
-
- }
复制代码
这样改了一下基本可以了。 |
评分
-
1
查看全部评分
-
|