この記事では、2つの連続するセルの値をマージするマクロを作成します。

生データは、部門ID、行番号、名前で構成される部門データで構成されます。

ArrowMain

この記事では、部門IDとロール番号を1つの列にマージします。

ArrowOutput

コードの説明

IsEmpty(Cells(IntRow、IntCol))まで実行

ループ上記のコードは、空のセルが見つかるまでループするために使用されます。

Cells(IntRow、IntCol)= Cells(IntRow、IntCol)& “-“&Cells(IntRow、IntCol + 1)

上記のコードは、値を「-」で区切って1つのセルに連結するために使用されます。

Cells(IntRow、IntCol + 1).ClearContents上記のコードは、セルからコンテンツを削除するために使用されます。

Range(Cells(IntRow、IntCol)、Cells(IntRow、IntCol + 1))。Merge上記のコードは、2つの連続するセルをマージするために使用されます。

With Selection .Horizo​​ntalAlignment = xlCenter .VerticalAlignment = xlCenter End With上記のコードは、テキストを水平方向および垂直方向に中央揃えにするために使用されます。

コードについては以下に従ってください

Option Explicit

Sub Connects()

'Declaring variables

Dim IntRow, IntCol As Integer

'Initializing row and column number of first cell

IntRow = 9

IntCol = 1

'Disabling screen updates

Application.ScreenUpdating = False

'Looping through cells until blank cell is encountered in first column

Do Until IsEmpty(Cells(IntRow, IntCol))

'Merging value from two cells in the first column

Cells(IntRow, IntCol) = Cells(IntRow, IntCol) & " - " & Cells(IntRow, IntCol + 1)

'Clearing content from second column

Cells(IntRow, IntCol + 1).ClearContents

'Merging two cells

Range(Cells(IntRow, IntCol), Cells(IntRow, IntCol + 1)).Merge

'Moving to next row

IntRow = IntRow + 1

Loop

'Formatting the first column

Columns(IntCol).Select

'Setting the horizonatal and vertical alignment to center

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

End With

Range("A10").Select

End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください