/ /セルフォーマットを変更せずにアクティブな列をコピー&ペーストする - Excel、vba

セルフォーマットを変更せずにアクティブな列をコピー&ペーストする - Excel、VBA

このコードを使用すると、アクティブな列には値がありますが、数値には小数点以下2桁が貼り付けられます。私のシートは内部にセルをマージしていて、カラム内のいくつかのセルに日付があるため、このコードを使用しています。

ActiveCell.Offset(0, 0).EntireColumn.Value = ActiveCell.EntireColumn.Value

私は、列が書式を持つ形式で正確に値に列を貼り付ける必要があります。小数なしで数字を残してください。

注:列を選択し、ホームバーから値を貼り付けるように手動で選択すると、数式とまったく同じように貼り付けられます。

回答:

回答№1は2

この方法で試してみてください:

Dim r As Long
c = Selection.Column

Range(Cells(4, c + 1), Cells(5, c + 1)).Merge
Columns(c).EntireColumn.Copy
Columns(c + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

特定のセルをマージするなど、コピーしたセルに貼り付けるセルを追加するなど、いくつかの要素を調整する必要があります。これがどのように機能するか教えてください