Excel 如何在不复制行/列宽的情况下复制数据

Excel 如何在不复制行/列宽的情况下复制数据,excel,vba,Excel,Vba,我使用VBA在一张图纸上复制和粘贴数量可变的行,当它们满足条件时,将它们粘贴到另一张图纸上 这是有效的。但是,当数据粘贴到目标工作表中时,列宽和行宽将更改为与源工作表相同 我怎样才能阻止这种事情发生?因此,只粘贴数据,而不使用单元格格式 如果有人知道,我将不胜感激 这是我正在使用的代码 Sub copyOverdue() Dim cell As Range Dim j As Integer Dim Source As Worksheet Dim Target As Worksheet Set

我使用VBA在一张图纸上复制和粘贴数量可变的行,当它们满足条件时,将它们粘贴到另一张图纸上

这是有效的。但是,当数据粘贴到目标工作表中时,列宽和行宽将更改为与源工作表相同

我怎样才能阻止这种事情发生?因此,只粘贴数据,而不使用单元格格式

如果有人知道,我将不胜感激

这是我正在使用的代码

Sub copyOverdue()

Dim cell As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet

Set Source = ActiveWorkbook.Worksheets("Action Register")
Set Target = ActiveWorkbook.Worksheets("Sheet1")

j = 36     ' Paste to this number row
For Each cell In Source.Range("A7:A243")
    If c = "Overdue" Then
       Source.Range("A" & c.row & "," & "G" & c.row).Copy Target.Range("AD" & j)
       Source.Range("C" & c.row & "," & "F" & c.row & "," & "H" & c.row & "," & "K" & c.row).Copy Target.Range("AF" & j)
       j = j + 1
    End If
Next cell
End Sub

只能粘贴特殊值

For Each cell In Source.Range("A7:A243")
    If cell.value = "Overdue" Then
       cell.Resize(, 7).Copy
       Target.Range("AD" & j).PasteSpecial xlValues
       Source.Range("C" & cell.Row & "," & "F" & cell.Row & "," & "H" & cell.Row & "," & "K" & cell.Row).Copy
       Target.Range("AF" & j).PasteSpecial xlValues
       j = j + 1
    End If
Next cell
您还可以完全避免使用剪贴板,直接传输值,这样效率更高,但在处理大范围时可能会有点混乱

Target.Range("AD" & j).Resize(,7).Value=cell.Resize(, 7).value

只能粘贴特殊值

For Each cell In Source.Range("A7:A243")
    If cell.value = "Overdue" Then
       cell.Resize(, 7).Copy
       Target.Range("AD" & j).PasteSpecial xlValues
       Source.Range("C" & cell.Row & "," & "F" & cell.Row & "," & "H" & cell.Row & "," & "K" & cell.Row).Copy
       Target.Range("AF" & j).PasteSpecial xlValues
       j = j + 1
    End If
Next cell
您还可以完全避免使用剪贴板,直接传输值,这样效率更高,但在处理大范围时可能会有点混乱

Target.Range("AD" & j).Resize(,7).Value=cell.Resize(, 7).value

您的代码似乎几乎正常工作,但以source.range开头的行导致运行时错误424,需要对象。我刚刚注意到您的循环变量是
cell
,但代码引用的
c
未定义,因此您的原始代码无法正常工作。我已经修改了上面的代码。是的,我也注意到只有在你的代码中。我也不确定我的原始代码是如何使用c语言的。但您的代码正在工作,但它也抛出了错误。您的代码似乎几乎正常工作,但以source.range开头的行导致运行时错误424,需要对象。我刚刚注意到您的循环变量是
cell
,但代码引用的
c
未定义,因此原始代码无法工作。我已经修改了上面的代码。是的,我也注意到只有在你的代码中。我也不确定我的原始代码是如何使用c语言的。但是您的代码正在工作,但它也会抛出错误。