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

Excel VBA需求:按条件重复复制单元格数据至指定工作表

修改后的VBA代码(添加M列判断逻辑)

以下是添加了M列值判断的完整代码,仅当「Weekly plan」工作表对应行的M列值为"new"时,才执行复制粘贴操作:

Sub copy()
    '----variables
    Dim lrow_d As Long
    Dim lrow_s As Long
    Dim i As Long ' 补充声明循环变量
    
    '-----Sheets
    Dim week As Worksheet
    Dim trip As Worksheet

    '-----Define Sheet names
    Set week = Worksheets("Weekly plan")
    Set trip = Worksheets("Trip tracking")

    '--LastRow
    lrow_s = week.Cells(Rows.Count, 4).End(xlUp).Row

    For i = 2 To lrow_s
        ' 新增判断:仅当M列值为"new"时执行后续操作
        If week.Range("M" & i).Value = "new" Then
            lrow_d = trip.Cells(Rows.Count, 3).End(xlUp).Row
            week.Range("D" & i).Copy Destination:=trip.Range("C" & lrow_d + 1 & ":" & "C" & lrow_d + week.Range("B" & i).Value)
        End If
    Next i
End Sub

关键修改说明

  • 补充声明了循环变量i,避免未声明变量的隐式类型问题
  • 在循环内部增加了条件判断语句:If week.Range("M" & i).Value = "new" Then ... End If,将原有的复制粘贴逻辑包裹在判断内部,确保仅符合条件的行才会执行复制操作
  • 保留了原有的复制逻辑:将D列单元格内容,按照B列指定的重复次数,粘贴到「Trip tracking」工作表C列的现有数据末尾

内容的提问来源于stack exchange,提问作者Hossam Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:10:20