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
回答:
回答№1は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
あなたの必要性に従って名前を付けなさい。