VBA仅将列公式和粘贴公式 - 而不是值 - 粘贴到下一列
电子表格列B具有值和公式的随机混合。我想使用VBA将该列复制到下一列中,并仅将公式(而不是值)复制到C列中。我能够使用以下VBA取得一些成功,但它将每个列复制过去B到无穷大(我在哪里)希望它在第一列之后停止复制。)
Sub Copy_Column_Formulas_NOvalues()
'
' Copy_Column_Formulas_NOvalues Macro
'
Dim oSheet As Worksheet
Dim rng As Range
Dim cel As Range
Set oSheet = Sheets("Sheet1")
With oSheet
Set rng = .Range(.Range("B1"), .Range("B" & .Rows.Count).End(xlUp))
For Each cel In rng
If Left(cel.Formula, 1) = "=" Then
Range(cel.Offset(, 1), cel.Offset(, 1).End(xlToRight)).FormulaR1C1 = cel.FormulaR1C1
End If
Next cel
End With
End Sub
答案 0 :(得分:0)
试试这个简单的宏,让我知道它是否有效,
Sub Copy_Column_Formulas_NOvalues()
Dim i As Long, j As Long
For i = 1 To Sheets("Sheet3").Cells(Rows.Count, "B").End(xlUp).Row
If Cells(i, 2).HasFormula Then
Cells(i, 3) = Cells(i, 2).Formula
End If
Next i
End Sub
根据您的需要更改Sheet3
名称。