Vba for循环从数据中提取月份
我需要从大约4000行日期中提取月份(数字)。我知道你可以用公式(月(日))做到这一点。我已经用我的头敲击键盘,最终放弃了。似乎没有什么工作,因为它已经在另一个宏I和复制从ha。我会发布一些示例代码,但它可能会让你感到困惑…就像它对我所做的一样,哈哈 我几乎有一个开始日期,需要在旁边的栏中输入月份Vba for循环从数据中提取月份,vba,excel,excel-2010,Vba,Excel,Excel 2010,我需要从大约4000行日期中提取月份(数字)。我知道你可以用公式(月(日))做到这一点。我已经用我的头敲击键盘,最终放弃了。似乎没有什么工作,因为它已经在另一个宏I和复制从ha。我会发布一些示例代码,但它可能会让你感到困惑…就像它对我所做的一样,哈哈 我几乎有一个开始日期,需要在旁边的栏中输入月份 Start date Month 1/25/2014 3:00 pm 1 2/20/2014 2:00 am
Start date Month
1/25/2014 3:00 pm 1
2/20/2014 2:00 am 2
1/5/2014 1:00 pm 1
我相信你明白了
或者我可以在第一个单元格中输入月份公式,然后自动填充……任何一种方式都可以
感谢并抱歉提出基本问题,数据位于A1,位于B1输入:
=MONTH(A1)
要用VBA填充列B中的单元格范围,我将使用:
Sub FillIt()
Range("B1:B" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=MONTH(A1)"
End Sub
在这里,尝试将此代码放入vba模块中,然后单击宏来运行它。它将提示您输入列,然后自动执行其他所有操作
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编辑器的左侧有一个“项目”层次结构李>
- 在层次结构中,右键单击正在处理的项目以创建模块李>
- 将代码粘贴到模块中李>
- 返回带有日期的工作表,按alt+f8,选择测试 然后单击run
是的,我知道。但是要用宏自动填充它…它应该是这样的正确选择。自动填充目标:=范围(“B1”和范围(“A”和行数)。结束(xlUp)。行)我知道我现在在行数上做了什么…GAAHH这是一些小事情…谢谢你的帮助不是我在寻找什么,而是用户运行此宏的一种方式是列不断变化。谢谢你的意见!我上哪一部分了?o、 o让他们输入columnaha^.^,只需将column=inputbox(“…”)行替换为column=“A”