
- 如图所示,左边是表格,里面的编号和日期是需要填充的格子。
- 填充内容需要我在右边输入并点击按钮来自动填充。
- J2是固定1S,K2为手动输入的数字,日期J3为年,K3为月日,此为前两个表格。
- J5是固定1G,K5为手动输入的数字,日期同上,此为第3.4.5.6.7.8个表格。
- 日期可合并一个按钮来完成。

关注引自免费微信小程序:皆我百晓生
根据您的描述,您希望在Excel中创建一个VBA宏,实现根据用户在右侧输入的内容自动填充左侧表格的编号和日期。针对您的需求,可以编写一个简单的VBA脚本,并将它绑定到一个按钮上。假设您的按钮名称为"Button1",且您希望点击后按顺序填充编号(基于K列输入的数字)和日期(基于J3单元格的年份和K3单元格的月/日组合)。
以下是一个基础的VBA宏代码示例:
Private Sub Button1_Click()
Dim yearPart As Integer
Dim monthDayPart As String
Dim i As Long
' 获取年份部分
yearPart = Range("J3").Value
' 获取月/日部分
monthDayPart = Format(Range("K3").Value, "00")
' 开始填充编号
For i = 2 To Range("K2").Value Step 1
If i <= 4 Then
Range("A" & (i + 1) * 2).Value = "1G"
Else
Range("A" & (i - 3) * 2).Value = "1S"
End If
' 填充日期
Range("B" & (i + 1) * 2).Value = CDate(yearPart & monthDayPart)
Next i
End Sub
这段代码会在点击按钮时:
K2中的值决定填充多少行。J3和K3中的年份和月/日组合填充日期列(假设是在B列)。请根据实际情况调整上述代码中引用的单元格位置和逻辑判断以符合您的具体需求。记得在VBA编辑器中插入按钮控件,并将其关联到这个宏(即设置其OnAction属性指向此宏)。同时,请确保Excel的“开发工具”选项卡可见,以便于操作。