2017-04-19 7 views
0

このコードは、アクティブな列をコピーして値に貼り付けるのに役立ちますが、数値は2つの小数点で貼り付けられます。私のシートは内部にセルをマージしており、カラム内のいくつかのセルに日付があるので、このコードを使用しています。セルの書式を変更せずにアクティブな列をコピーして貼り付けます

カラムをフォーマットの形式で正確に値に貼り付ける必要があります。小数なしで数字を残してください。

注:列を選択してホームバーから値をペーストすることを手動で選択した場合は、数式と同じようにペーストします。

+2

このコードはコピーアンドペーストとは関係ありません。値を割り当てます。 – Taosique

+0

アクティブな列をマージしたセルをコピーして値に貼り付ける方法を知っていますか? – Maxwell

+0

まだ、[回答済み](http://stackoverflow.com/questions/43349575/vba-code-to-copy-and-paste-active-column-with-merged-cells-inside)他の、受け入れられていない)? – pnuts

答えて

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 

あなたはセルをコピーしたセルに関連して貼り付けたい特定の細胞を、合併のように、いくつかのものを微調整する必要があるかもしれません。この動作の仕組みを教えてください

+0

アクティブカラムをこのカラムの隣に4回コピーし、マージしたすべてのセルを削除します。アクティブな列をコピーしてセルがマージされていても値を貼り付ける方法を知っていますか? – Maxwell

+0

それを別の方法で説明してもらえますか?この方法は、アクティブな列(c)をコピーし、それをその列(c + 1)に貼り付けることです。使用した例では、アクティブな列に4行目と5行目のセルがマージされていると想定していたため、アクティブな列の右側にセルをマージしてから貼り付けました。したがって、アクティブな列にマージされているセルは、まずペースト先の列にマージする必要があります。マージ関数を使用することができます(上記の例では、Range(Cells(x、c + 1)セル(5、c + 1))マージ)必要な回数 – Sam

関連する問題