• ベストアンサー

VBAコードを教えて下さい!!

VBA初心者です。 皆様どうぞお力をお貸し下さい(>_<) A列「都道府県」・B列「市町村」・C列「番地」と分かれた列にそれぞれ入力してあります。 それをA~C列を結合して「都道府県市町村番地」と表示させたい。 データは2行目~500行目くらいまで入っています。 最初の1行(A2~C2)だけは出来たのですが、 それ以降データの終わりまではどうすれば良いのか分かりません。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

標準モジュールに Sub test01() Application.DisplayAlerts = False d = Range("a65536").End(xlUp).Row MsgBox d For i = 2 To d Cells(i, "A") = Cells(i, "A") & Cells(i, "B") & Cells(i, "C") Range(Cells(i, "A"), Cells(i, "C")).MergeCells = True Next i Application.DisplayAlerts = True End Sub

vba2007
質問者

お礼

ああ!出来ました!! しかもコレ、私も考えてたコードと似ているので勉強になります! (何回も失敗して作り直して、でも結局出来ませんでした・・・) VBAが好きで勉強を始めたのですが 実践というのが初めてで四苦八苦しており、本当に助かりました! 有難うございました!(´▽`*)

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 結合セルにする必要があるか分からないので、それは手はいれません。 #2さんの数式でする方法は、一瞬で終わるから楽です。 Sub ChainedCells() With Range("A2", Range("A65536").End(xlUp)).Offset(, 3)  .FormulaLocal = "=RC[-3]&RC[-2]&RC[-1]"  .Value = .Value  'A列に移動する ' .Offset(, -3).Value = .Value ' .Offset(, -2).Resize(, 3).ClearContents End With End Sub

vba2007
質問者

お礼

ご回答頂きまして有難うございます!! コレは・・・私には思いもつかなかった手法(?)なので勉強させて頂きます! >結合セルにする必要があるか分からないので ホント、そうですよね・・・。 どうしてそこまで結合結合ってこだわっていたのか、 自分でもちょっと呆れます・・・(ーー;) ホントに有難うございました!!

回答No.2

sheet1に目的のセルがあるとして書きます。 For i=1 to 500 sheet1.range("D"&i) = sheet1.range("A"&i) & sheet1.range("B"&i) & sheet1.range("C"&i) Next i とかいかがでしょうか?? 後は、VBAを使わず、横のセルに =A1&B1&C1 と入れて、そのまま下にコピーする。

vba2007
質問者

お礼

早速のご回答有難うございます!! そっか・・・ こういうやり方もあったんですね! 私は「絶対結合しなくちゃ・・・」って変に縛られてました!(x_x;) >=A1&B1&C1 と入れて、そのまま下にコピーする。 ホントは私もコレをやりたいんですが・・・ 今回は「VBAを使って」というのが大前提なんです・・・(T_T) ホントに有難うございました!! 非常に感謝致します。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>最初の1行(A2~C2)だけは出来たのですが、 どんなコードですか?

vba2007
質問者

補足

Sub test() Application.DisplayAlerts = False Dim mystr(2) As String Dim a As String mystr(0) = [a2].Value mystr(1) = [b2].Value mystr(2) = [c2].Value [a2] = Join([transpose(transpose(a2:c2))], "") [a2:c2].Merge Application.DisplayAlerts = True End Sub こんなんです・・・(・_・、)

関連するQ&A