for循环从数据中提取月份

我有大约4000行的date,我需要从中提取月份(数字)。 我知道你可以用一个公式来做到这一点(月(date))我已经击败了我的头,并终于放弃了。 似乎没有任何工作像我已经在另一个macros,并从哈利复制。 我会张贴一些示例代码,但它可能只是混淆你,因为它对我做的哈哈。

几乎我有一个开始date,需要在旁边的列中input月份

Start date Month 1/25/2014 3:00 pm 1 2/20/2014 2:00 am 2 1/5/2014 1:00 pm 1 

我相信你得到的照片。

或者我会确定在第一个单元格中input月份公式然后自动填充它….任何一种方式对我都没问题

感谢和遗憾的基本问题

A1中的数据B1中input:

 =MONTH(A1) 

要使用VBA填充B列中的一系列单元格,我将使用:

 Sub FillIt() Range("B1:B" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=MONTH(A1)" End Sub 

在这里,尝试把这个代码放到一个vba模块中,然后通过点击macros来运行它。 它会提示你input列,然后自动执行所有其他的操作。

 Public Sub test() Dim column As String Dim cell As Object On Error GoTo ErrorHandler column = InputBox("Enter column" & vbNewLine & "Example: D") On Error Resume Next For Each cell In Range(column & "1:" & column & ActiveSheet.UsedRange.Rows.Count) With Cells(cell.Row, cell.column + 1) .NumberFormat = "@" .Value = Month(cell.Value) End With Next cell Exit Sub ErrorHandler: MsgBox "Invalid column" End Sub 
  • 要从Excel中打开VBA编辑器,请按alt + f11
  • 在VBA编辑器的左侧有一个“项目”层次结构。
  • 在层次结构中,右键单击正在处理的项目,创build一个模块。
  • 将代码粘贴到模块中。
  • 回到工作表的date,按Alt + F8,selecttesting,然后单击运行