You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA将日期列转为星期:代码全显示星期日的问题求助

将Excel日期转换为星期名称的解决方案

最简便的方法:Excel公式直接实现

不需要编写VBA,用Excel内置公式就能快速完成:

  • 假设要把结果输出到F列右侧第7列(即M列),在M列第一个对应数据的单元格(比如M2)输入公式:
    =TEXT(F2,"AAAA")
    
    回车后下拉填充整列即可。"AAAA"会返回全称星期(如星期日、星期一),如果需要简称(如日、一),可改成"AAA"。
  • 也可以用WEEKDAYNAME函数实现:
    =WEEKDAYNAME(WEEKDAY(F2))
    

修正你的VBA代码

你原来的代码错误在于直接将F1的计算结果赋值给所有目标单元格,而非让每个单元格引用对应行的F列数据,导致所有结果都是同一个值。修正后的代码如下:

Columns("F").SpecialCells(xlConstants).Offset(, 7).Formula2 = "=TEXT(F[@],""AAAA"")"

或者用WEEKDAYNAME版本:

Columns("F").SpecialCells(xlConstants).Offset(, 7).Formula2 = "=WEEKDAYNAME(WEEKDAY(F[@]))"

这段代码会给每个目标单元格设置公式,自动引用对应行的F列日期并转换为星期名称。

内容的提问来源于stack exchange,提问作者Matt Laming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 22:57:10