You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA实现复制I4值到L5:L19首个空白单元格的代码求助

原有代码问题

  1. 查找范围未限定在L5:L19区间,遍历范围是L列整列从第1行到最后一个有内容的行,无法匹配目标区域的首个空白单元格
  2. 循环未在找到第一个空白后终止,最终选中的是遍历范围内最后一个空白单元格,不符合需求
  3. 使用Select、复制粘贴的操作冗余,效率低还会影响系统剪贴板

修正后可直接使用的代码

Private Sub RecordCalcOffset_Click()
    Dim targetRng As Range, currentCell As Range
    ' 定义查找范围为指定的L5:L19
    Set targetRng = ActiveSheet.Range("L5:L19")
    
    ' 遍历目标区域找第一个空白单元格
    For Each currentCell In targetRng
        If IsEmpty(currentCell.Value) Or Trim(currentCell.Value) = "" Then
            ' 直接赋值替换复制粘贴,效率更高
            currentCell.Value = ActiveSheet.Range("I4").Value
            ' 找到首个符合要求的单元格后直接退出循环
            Exit For
        End If
    Next
    
    ' 可选:如果需要区域占满提示,可以取消下方注释
    ' If currentCell Is Nothing Then MsgBox "L5:L19区域已全部填满,无法写入新数据"
End Sub

补充说明

如果需要固定写入某张工作表,避免切换到其他工作表时点按钮写错位置,可以把代码里的ActiveSheet替换为Sheets("你的工作表名称"),比如表格叫「设备运行记录」就写Sheets("设备运行记录")。

内容的提问来源于stack exchange,提问作者Darius Lunar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:06:03