Microsoft ExcelでVBAを使用して値を失うことなく、セルを結合
この記事では、2つの連続するセルの値をマージするマクロを作成します。
生データは、部門ID、行番号、名前で構成される部門データで構成されます。
この記事では、部門IDとロール番号を1つの列にマージします。
コードの説明
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 .HorizontalAlignment = 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]までご連絡ください