文字列を結合して最終列に追加表示するマクロ
を示す。
■Excel-VBA 文字列を結合して最終列に追加表示するマクロ
Sub sample25() Dim MR As Long Dim MC As Long Dim Ac As Long Dim Bc As Long MR = Cells(Rows.Count, 1).End(xlUp).Row 'ω'最終行,A:A MC = Cells(1, Columns.Count).End(xlToLeft).Column 'ω'1:1,最終列 Ac = 5 Bc = 7 Dim i As Long, A As String, B As String AB = Range(Cells(1, 1), Cells(MR, MC)) ZZ = Range(Cells(1, MC + 1), Cells(MR, MC + 1)) For i = 2 To MR A = AB(i, Ac) B = AB(i, Bc) ZZ(i, 1) = A + B Next i Range(Cells(1, MC + 1), Cells(MR, MC + 1)) = ZZ End Sub※[2.~5.] 変数宣言。
※[6.~7.] 最終行数、最終列数取得。
※[8.~9.] 5列目(E列)と7列目(G列)を
文字列結合する列として指定。
文字列結合する列として指定。
※[11.] 変数宣言。AとBは文字列(String)。
※[13.] 配列ZZに空白セル仮格納。
※[14.~18.] 配列ABから5列目(E列)と7列目(G列)の文字列抽出し結合。配列ZZに格納。
2行目から最終行までFor Nextループ。
※[19.] 配列ZZの値を最終列の次に格納。
■マクロ実行対象
「部品データ_191128.xlsx」の「部品表」シート。5列目(E列)と7列目(G列)。■マクロ実行結果
実行すると、5列目(E列)と7列目(G列)の文字列を結合して20列目(T列)に追加表示する。
■あとがき
今回はExcel VBAマクロ。文字列を結合して最終列に追加表示するマクロ
を示した。
Ac、Bcに文字列結合したい列番号を
指定して使う。
文字列でなく数値の足し算がしたい場合は
※[11.] のAとBを文字列(String)⇒数値(Long)
にコードを書き換える。
LibreOffice Basicで使う場合は
コードの先頭行に
「Option VBASupport 1」を記述する。
Option VBASupport 1以上。