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

时间:2017-06-12 14:15:00

标签: vba excel-vba date excel-formula multiple-columns

我还是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的网站。

1 个答案:

答案 0 :(得分:1)

也许,如果你的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