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