- 締切済み
エクセル vlook関数、可視セルのコピーについて
大量のデータを編集している仕事をしており、 教えて頂けないでしょうか。 ・可視セルから可視セルへのコピー ・vlookの結果を、関数式が入っていない状態で表示したい(TEXT関数ではなく) 説明が下手かもしれませんが申し訳ありません。 ある大量データのエクセルシートが二つあります。 それを合わせて、vlookで結果を出します。 結果を出したいシートの列には、予めいくつか入力されている消せないセルがあります。 この消せないセルは、vlookの結果を出すセルではありません。 ソートをかけて、vlookの貼り付け先であるセルを出します。 結果が反映されます。 この場合、結果先のセルにはvlookの関数式が入ったデータが入ります。 この結果を関数式が入っていない数値や文字にしたいのです。 私のやり方は、結果先の列の横に新たに列を挿入し そこにvlookの結果を出し、それをコピー、反映させたい列へ形式を選択して値を貼り付けています。 しかし一度に選択してコピーしようとしても、ソートがかかっており 可視セル状態にしても、うまく貼り付けができません。 なので、一つ一つのセルをコピーして値にし、横のセルに貼り付けています。 上記のどちらか一つがわかれば、できると思うのですが 何か良いやり方はないでしょうか。 あまり詳しくなく、教えてもらえればと思います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
>結果を出したいシートの列には、予めいくつか入力されている消せないセルがあります。 この消せないセルは、vlookの結果を出すセルではありません。 はっきり読み取れないですが、列単位の値の貼り付けなら、下のような簡単なVBAマクロで処理できる。 例えば、式が入ったデータがD列にあり、D列の右隣に列を追加できる場合、データ列から追加した列に値だけを貼り付け処理するマクロ Sub InsertCopyPasteColumn() Const CopyColumn = "D" Const PasteColumn = "E" Application.ScreenUpdating = False 'コピーや切取りの操作の取り消し Application.CutCopyMode = False '列を追加 'Range(PasteColumn).Insert Columns(PasteColumn).Insert 'データ列をコピーし、値だけを貼り付け 'Range(CopyColumn).Copy 'Range(PasteColumn).PasteSpecial Paste:=xlPasteValues Columns(CopyColumn).Copy Columns(PasteColumn).PasteSpecial Paste:=xlPasteValues Application.ScreenUpdating = True End Sub
お礼
やはり、マクロでないとできないんですよね。 難しそうですけど、トライしてみます。 ありがとうございました。