IT・パソコン エクセル|Excel

エクセル(Excel)で上のセルをコピーして下の空白セルに入力する方法

IT・パソコン

Excelデータを扱っていると、

縦方向の一番には入力されていて、

下に連続して同じデータが入力されていないため

下図のようなデータになっている時があります。

upcopy1

 

こんな時に、ピボットテーブルなどで、

テーブル化や、データベース化したい場合、

便利な方法がありますので紹介します。

 

それはマクロを使う方法です。

上のセルコピーして繰り返し貼り付けコピペ)作業を

自動処理するものです。

記事の最後に無料マクロコードサンプル

ダウンロードできるようにしてあります。

 

このマクロを実行すると、

上のセルに入力された担当者の名前を

下にコピーする作業を繰り返すようになっています。

(完成形のイメージは下図)

 

 

【使用時の注意事項】

1.コピー処理される縦列は

マクロ実行時に選択しているセルの

タテ列に対してコピーが実行されます

 

2.一番上のセルまでデータが入ってる必要があります

空白にしたい場合でも仮にデータを入力しておくと

コピーが実行されます。

 

3.連続コピーしたい右側のタテ列には

連続したデータがなければ実行されません

 

連続コピー処理されるデータ下限は

マクロ開始時に選択されてるセルの

右隣りのセルの最終行まで(この図では12行目)

 

 

サンプルファイルはこちらから無料ダウンロードできます。

マクロ付きエクセルファイルuekopi

Zip圧縮ファイルuekopi

 

マクロプログラムコードだけで良い方は

以下のマクロコピーしてお使いください。

(自己責任でお願いします)

 

 

:::::以下マクロに貼り付ける内容です:::::

 

Sub ウエコピ()
‘連続データの中に空白があったとき、上の値をコピーして下の空白セルに貼り付けます。
‘(注意)マクロ実行前に選択した列が対象です。
Dim i As Long
Dim myCol As Long ‘現在の列位置
Dim startRow As Long ‘開始行番号
Dim Ccnt As Long ‘現在の列の行数

myCol = ActiveCell.Column
startRow = 1 ‘1行目から開始
With ActiveSheet
Ccnt = .Columns(myCol).CurrentRegion.Rows.Count
For i = startRow To Ccnt
If .Cells(i, myCol).Value = “” Then
‘上のセルの値を入力
.Cells(i, myCol).Value = .Cells(i – 1, myCol).Value
End If
Next i
End With
End Sub

 

Amazonのおすすめ
事務屋ドットコム

コメント