Excel VBA: 如何从一列的所有单元格中提取日期并将文本放入另一列?

Excel VBA: How to extract date from all cells of a column and put text into another column?

我还是 VBA 的新手,需要有关我的代码的帮助。我目前正在尝试在一个实际的宏中编写多个宏。我试图从一列 B 列中获取从 b5 开始的所有日期,并将它们放入另一列 A 列中,从 A5 开始。问题是,B 列中的所有日期都采用 (01/24/17) 类型格式,而我只需要 A 列中文本中的月份名称。我还需要公式继续,直到最后一个具有值的单元格B列 这是我目前所拥有的,但似乎没有用:

Sub Macro7()
    Worksheets("mac2").Range("A5:A1000").Formula = "=text(if($B5>0,$B5,"""")"
End Sub

同样,我是 VBA 的新手,我知道硬编码范围等并不是最好的主意。如果您还可以指导我访问一个教授基础知识的网站 VBA,我们将不胜感激。

也许,如果您的 B 列值是文本,那么代码如下

Sub Macro7()
Dim vDB, vR()
Dim i As Long, y As Integer, m As Integer, d As Integer
Dim R As Long
    With Worksheets("mac2")
        vDB = .Range("b5", .Range("b" & Rows.Count).End(xlUp))
    End With
    R = UBound(vDB, 1)
    ReDim vR(1 To R, 1 To 1)
    For i = 1 To R
        If vDB(i, 1) > 0 Then
            vR(i, 1) = Format(vDB(i, 1), "mmmm")
        End If
    Next i
    Worksheets("mac2").Range("a5").Resize(R) = vR
End Sub