我在EXCEL中有一个日期列,其日期格式为-1/27/2019。我想用VBA编写脚本以仅提取年份部分(2019年)并将其放在另一列中。
我是否首先将Date转换为String?然后使用
分割字符串`Split(date_as_string, "/")
获得年份部分?
如何将Date转换为String以实现此目的?任何其他解决此问题的方法也将受到赞赏。
答案 0 :(得分:2)
类似
Sub JustYear()
Dim yr As Long
yr = Split(Range("A1").Text, "/")(2)
Range("B1").Value = yr
End Sub
答案 1 :(得分:2)
如果您的日期列为真日期格式,则可以使用Excel func detectScreenShot(action: @escaping () -> ()) {
let mainQueue = OperationQueue.main
NotificationCenter.default.addObserver(forName: UIApplication.userDidTakeScreenshotNotification, object: nil, queue: mainQueue) { notification in
// executes after screenshot
action()
}
}
函数在另一列中返回年份的值。在这种情况下,列中反映的日期是我的系统本地日期格式。您的系统可能有所不同,但是YEAR
将根据您的日期系统工作。
编辑: 如果要使用VBA,则宏示例为:
YEAR
答案 2 :(得分:1)
只需使用Year()函数:
Option Explicit
Sub test()
Dim yea As Integer
Dim r As Range
Set r = Range("a1")
yea = year(r.Value)
Debug.Print yea
End Sub
答案 3 :(得分:0)
对于表示年份的文本,
range("A1") = format(cdate(date_as_string), "yyyy")
要获取代表年份的真实数字,
range("A1") = val(format(cdate(date_as_string), "yyyy"))