复制整个行(值不是公式)VBA
我需要复制多个工作表之间的行,而我设法做到这一点,它只复制公式,而不是值。 多年来我一直没有使用过VBA,我只是想不出如何去做。
我现有的代码是:
Workbooks.Open filename:=NewFN filename = Mid(NewFN, InStrRev(NewFN, "\") + 1) For i = 1 To 14 Workbooks(filename).Sheets("sheet1").Rows(i).Copy ThisWorkbook.Sheets("BD Raw Data").Rows(insertRow) insertRow = insertRow + 1 Next i Workbooks(filename).Close SaveChanges:=False
值和公式之间的select是在过程的粘贴一半。 查看PasteSpecial方法,特别是xlPasteValues参数。
http://msdn.microsoft.com/en-us/library/aa195818(v=office.11​).aspx
您需要使用PasteSpecial
方法使用XlPasteType.xlPasteValues
枚举而不是Copy Destination
例如
Workbooks(filename).Sheets("sheet1").Rows(i).Copy ThisWorkbook.Sheets("BD Raw Data").Rows(insertRow).PasteSpecial Operation:=xlPasteValues
尝试一下
Sub CopyFormulas() 'http://officevb.com Dim sht1 As Worksheet, sht2 As Worksheet Set sht1 = Sheets("Sheet1") Set sht2 = Sheets("sheet2") 'copy columns C from sht1 formulas to sht2 sht1.Range("C:C").Copy sht2.Range("C:C").PasteSpecial xlPasteFormulas Application.CutCopyMode = False End Sub
这个子副本在sht2的列C中的所有公式从sht2到列C.
[]的