gpt4 book ai didi

vba - 如何在 vba 中将月份和年份生成为文本(必须在文本中,因为使用匹配功能)

转载 作者:行者123 更新时间:2023-12-04 20:32:40 24 4
gpt4 key购买 nike

有谁知道我如何编写代码来执行以下操作:

作为单元格 A1:Z1 中的文本,从今天的月份和年份开始

因此,我将在 A1 中使用 12/2017,在 B1 中使用 01/2018,在 C1 中使用 02/2018 等等......非常重要的是,'0' 在单元格 B1 中并且它们是文本格式

我认为这将在一个循环中完成,例如

for each mycell in range("A1:Z1")
mycell.numberformat = "@"
Next

我不知道该怎么做就是让09变成10。

我这样做的原因是因为我正在调用匹配函数并连接
VBA.DateTime.month(Date) & "/" & VBA.DateTime.year(Date) 

找到匹配的单元格

最佳答案

在一个空的工作簿中试试这个:

Option Explicit

Public Sub TestMe()

Dim rngCells As Range
Dim cnt As Long

For Each rngCells In Range("A1:A10")
cnt = cnt + 1
rngCells.NumberFormat = "@"
rngCells = Format(DateSerial(2017, cnt, 1), "MM\/YYYY")
Next rngCells

End Sub

你会得到这个:

enter image description here

正如@JohnyL 的评论中所提到的,在这种情况下,您需要一个转义符号来表示 /。格式中的符号。

如果您忘记了转义符号和类似的东西,宏记录器确实是 Excel 中一个有值(value)且被低估的工具。查看记录的代码:
Sub Macro1()
ActiveCell.FormulaR1C1 = "13-Jan-2017"
Range("A12").Select
Selection.NumberFormat = "dd\/mm\/yyyy"
End Sub

关于vba - 如何在 vba 中将月份和年份生成为文本(必须在文本中,因为使用匹配功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com