首页 > 解决方案 > 根据条件循环和复制范围

问题描述

我已经处理了以下代码,它根据第一列中的标准复制 1 个单元格。我知道如何为 -6 列设置偏移量,当我需要单元格偏移量(0,-6)和偏移量(0,- 5) 同时作为一个范围而不是偏移量。你能帮忙吗?就是这一行:Range("I" & i).Offset(0, -6).Copy我需要来自 col C 和 D 的一系列单元格,而不是简单地偏移(这给了​​我一个单元格)。

Sub xxx()

Dim WB As Workbook
Dim ZXC As Worksheet
Dim INF As Long, RSP As Long
Set WB = Workbooks("test.xlsm")
Set ZXC = WB.Sheets("MMLPLC")
Set VBN = WB.Sheets("VBN")
ZXC.Activate
INF = Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To INF
If Range("I" & i).Value = "Further Information Needed" Then
    Range("I" & i).Offset(0, -6).Copy
    VBN.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
Next i
VBN.Activate
Application.CutCopyMode = False
End Sub

标签: excelvba

解决方案


您可以使用Resize方法,这确实非常有用

Range("I" & i).Offset(0, -6).resize(,2).copy

推荐阅读