Excel VBA从其他图纸复制并粘贴为值

Excel VBA从其他图纸复制并粘贴为值,excel,vba,Excel,Vba,我有一个宏,我从一些例子,复制值从所有其他工作表到工作表称为“总结”。值的范围从A列到M列,从第14行到末尾。我是vba新手,不知道如何修改这段代码,所以它只能粘贴值 Sub copy_info() Dim i As Long, j As Long, lastRow As Long Dim sh As Worksheet With Sheets("Summary") End With j = 14 For Each sh In ActiveWo

我有一个宏,我从一些例子,复制值从所有其他工作表到工作表称为“总结”。值的范围从A列到M列,从第14行到末尾。我是vba新手,不知道如何修改这段代码,所以它只能粘贴值

  Sub copy_info()
    Dim i As Long, j As Long, lastRow As Long
    Dim sh As Worksheet
    With Sheets("Summary")
    End With
    j = 14
    For Each sh In ActiveWorkbook.Sheets
    If sh.Name <> "Summary" Then
        lastRow = sh.Cells(sh.Rows.Count, "B").End(xlUp).Row
        For i = 14 To lastRow
            If sh.Range("H" & i) > 0 Then
                sh.Range("A" & i & ":M" & i).Copy     Destination:=Worksheets("Summary").Range("A" & j)
                Sheets("Summary").Range("M" & j) = sh.Name
                j = j + 1
            End If
        Next i
    End If
    Next sh
    Sheets("Summary").Columns("A:M").AutoFit
    End Sub
子副本_info()
我长,j长,最后一排长
将sh设置为工作表
附页(“摘要”)
以
j=14
对于ActiveWorkbook.Sheets中的每个sh
如果sh.名称为“摘要”,则
lastRow=sh.Cells(sh.Rows.Count,“B”).End(xlUp).Row
对于i=14至最后一行
如果sh.Range(“H”和i)>0,则
sh.Range(“A”&i&“:M”&i).复制目的地:=工作表(“摘要”).Range(“A”&j)
表格(“摘要”)。范围(“M”&j)=上海名称
j=j+1
如果结束
接下来我
如果结束
下一个sh
表(“摘要”)。列(“A:M”)。自动拟合
端接头
更改此行:

sh.Range("A" & i & ":M" & i).Copy     Destination:=Worksheets("Summary").Range("A" & j)
至2行:

sh.Range("A" & i & ":M" & i).Copy     
Worksheets("Summary").Range("A" & j).PasteSpecial xlPasteValues
或者,你可以写

Worksheets("Summary").Range("A" & j ":M" & j).Value = sh.Range("A" & i & ":M" & i).Value

非常感谢你的帮助!