我尝试使用来自类似威胁的反馈 - 但我似乎无法在我的代码中实现任何这些威胁。 我很抱歉,因为我是宏的新手!
我有一个带有数据透视表的电子表格, 如果我想要复制A2:J2,如果K2 =“创建”。 我的宏工作但正在复制整行,有人可以帮助我吗?
Sub Create()
Dim RngColF As Range
Dim i As Range
Dim Dest As Range
Sheets("Data").Select
Set RngColF = Range("K1", Range("K" & Rows.Count).End(xlUp))
With Sheets("Open quotes")
Set Dest = .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End With
For Each i In RngColF
If i.Value = "Create" Then
i.EntireRow.Copy Dest
Set Dest = Dest.Offset(1)
Sheets("Open quotes").Select
End If
Next i
End Sub
答案 0 :(得分:0)
尝试
Sub Create()
Dim RngColF As Range
Dim i As Range
Dim Dest As Range
Sheets("Data").Select
Set RngColF = Range("K1", Range("K" & Rows.Count).End(xlUp))
With Sheets("Open quotes")
Set Dest = .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End With
For Each i In RngColF
If i.Value = "Create" Then
range(cells(i.row,1).address,cells(i.row,10).address).copy Dest
Set Dest = Dest.Offset(1,0)
Sheets("Open quotes").Select
End If
Next i
End Sub
我不确定您要复制的数据位置。如果它在数据表中,那么当您选择"打开报价时,您将遇到问题"因此第二次围绕它的运行将从"打开引号"复制。可能想解决这个问题。
编辑:为了完整表格("打开引号")。选择应该(并且相信OP已经)移动到代码的末尾