我有一个问题,如果从A7
开始直到LastRow行有数据,如何将公式从特定的指定范围复制到指定的FirstRow到LastRow。
如果从A7
到LastRow有数据,则H6:J6
中的公式应该作为公式从H7:J7
粘贴到LastRow。
现在的问题是,从A7
开始,行是空的,它会复制H5:J5
中的公式。是否有我可以使用的代码,以便如果A7
向前为空,则根本不会复制任何公式?也许将FirstRow定义为固定或其他东西。
Sub CopyFormulaIF()
Dim myLastRow As Long
Dim myCol As Long
Dim WB As Workbook
Dim WS As Worksheet
Set WB = ThisWorkbook
Set WS = WB.Sheets("Tabelle1")
'Screen update in 0 seconds
Application.ScreenUpdating = 0
With WS
myLastRow = .Range("A" & .Rows.Count).End(xlUp).Row
End With
For myCol = 8 To 10
Cells(6, myCol).Copy
Range(Cells(7, myCol), Cells(myLastRow, myCol)).PasteSpecial Paste:=xlFormulas
Application.CutCopyMode = False
Next myCol
End Sub
非常感谢你们
答案 0 :(得分:2)
你可以这样做
Option Explicit
Sub CopyFormulaIF()
Dim myLastRow As Long
Dim myCol As Long
'Screen update in 0 seconds Application.ScreenUpdating = 0
With ThisWorkbook.Sheets("Tabelle1")
myLastRow = .Range("A" & .Rows.Count).End(xlUp).Row
If myLastRow < 7 Then Exit Sub
For myCol = 8 To 10
.Range(.Cells(7, myCol), .Cells(myLastRow, myCol)).FormulaR1C1 = .Cells(6, myCol).FormulaR1C1
Next
End With
End Sub