繁体   English   中英

VBA仅将列复制并粘贴公式-不能将值粘贴到下一列

[英]VBA Copy column and paste formulas only - not values - to next column

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

试试这个简单的宏,让我知道它是否有效,

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名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM