2401_83088407 2024-03-21 21:26 采纳率: 0%
浏览 8
已结题

VBA宏,根据输入的内容填充内容。

img

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

19条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-21 21:26
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    根据您的描述,您希望在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
    

    这段代码会在点击按钮时:

    1. 根据K2中的值决定填充多少行。
    2. 按照“1S”和“1G”的规律填充编号列(假设是在A列)。
    3. 使用J3K3中的年份和月/日组合填充日期列(假设是在B列)。

    请根据实际情况调整上述代码中引用的单元格位置和逻辑判断以符合您的具体需求。记得在VBA编辑器中插入按钮控件,并将其关联到这个宏(即设置其OnAction属性指向此宏)。同时,请确保Excel的“开发工具”选项卡可见,以便于操作。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 创建了问题 3月21日