我想从包含公式的另一个工作表中导入一些列。我的代码分4步处理:*清除所有行*过滤行*复制这些行*然后将它们粘贴到另一个工作表中
谁能告诉我如何修改下面的代码来粘贴这些列和它们的公式:
Public Sub refresh()
'
' refresh Macro
'
' Touche de raccourci du clavier: Ctrl+y
'
Dim ws1 As Worksheet, ws2 As Worksheet, lr1 As Long, lRow As Long
Set ws1 = ThisWorkbook.Worksheets("Scénarios de menace")
Set ws2 = ThisWorkbook.Worksheets("Analyse de risque")
Application.Calculation = xlCalculationAutomatic
ws2.Range("B6:AP" & ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row).Clear
lr1 = ws1.Cells(ws1.Rows.Count, 2).End(xlUp).Row
Sheets("Scénarios de menace").Select
Range("B4:Z398").Select
Selection.Copy
Sheets("Analyse de risque").Select
Range("B6:Z400").Select
ActiveSheet.Paste
ws1.Range("A1:A" & lr1).AutoFilter Field:=1, Criteria1:="X"
ws1.Range("B3:AP" & lr1).SpecialCells(xlCellTypeVisible).Copy
ws2.Range("B6").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
ws1.Range("A6:A" & lr1).AutoFilter
ws2.Activate: ws2.Cells(1, 1).Activate
End Sub发布于 2015-09-01 19:31:30
您可以简单地使用.Formula属性:
ws2.Range("B6:Z400").Formula = ws1.range("B4:Z398").Formula通过不使用.Select或.Copy .Paste,上面的代码也更整洁,而且您定义了自己的Worksheets,因此不要将其用于.Copy .Paste。
https://stackoverflow.com/questions/32330282
复制相似问题