• 締切済み

以下のようなセルの結合って、どうすればいいのでしょうか?

みなさん、是非教えて頂けないでしょうか。 エクセルで、以下のようにセルを即座に結合できる方法を探しています。 名前 お店 松本 A 松本 B 松本 C 鈴木 D 山口 F 山口 G 山口 H 山口 I 山口 J ↓ 名前 お店     A 松本 B     C 鈴木 D     F     G 山口 H     I     J 名前毎に、次の列の名前が変わったら、その連続している名前のセルを全て結合したいのです。 全部で約7500行、名前が500程あるので、中々手作業だと時間がとられて仕方ありません。 どなたか、お力を貸して頂けないでしょうか。 よろしくお願い致します。

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

A列に名前がありA1から始まっているものとします。 以下の手順をおためしください。 1.Altキー+F11キーで Visual Basic Editor画面を呼び出します。 2.画面上部のメニューバーから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。 '*****ここから下をコピペ***** Sub test01() With ActiveSheet i = 1 Do While .Cells(i, 1).Value <> "" j = i + 1 Do While .Cells(i, 1).Value = .Cells(j, 1).Value j = j + 1 Loop Application.DisplayAlerts = False .Range(.Cells(i, 1), .Cells(j - 1, 1)).Merge Application.DisplayAlerts = True i = j Loop End With End Sub '*****ここより上までをコピペ***** 3.Alt+F11キーでワークシートへもどります. 4.メニューから、ツール、マクロ、マクロで出てきたマクロ名(test01)を選択して実行 これでできます。

mantel
質問者

お礼

merlionXXさん 説明をご丁寧に記入して頂いたおかげで、無事にセルの結合ができました。 どうもありがとうございました。

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.3

No.2です。1回しか使わないだろうからいいかなって思ったんですが、 jが参照範囲を超えてエラーになるのが嫌な場合はこちらを。 Sub Merge() i = 1 Do While (i < 7500 And j < 7500) j = i + 1 Do While Cells(i, 1).Value = Cells(j, 1).Value j = j + 1 If j > 7500 Then GoTo endm Loop Range(Cells(i, 1), Cells(j - 1, 1)).Select Selection.Merge i = j Loop endm: End Sub

mantel
質問者

お礼

ts3m-ickwさん あっという間に対象の名前を全て結合することができました。 1つ1つクリックするだけなので、とても作業が簡素化されました。 本当にありがとうございました!

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

こんなマクロを組んで実行して、あとは左クリックかEnterを連打する。 Sub Merge() i = 1 Do While i < 7500 j = i + 1 Do While Cells(i, 1).Value = Cells(j, 1).Value j = j + 1 Loop Range(Cells(i, 1), Cells(j - 1, 1)).Select Selection.Merge i = j Loop End Sub

noname#176215
noname#176215
回答No.1

    A  B  C  D 1  名前 お店    結合 2  松本  A  1 3  松本  B  1 4  松本  C  1 5  鈴木  D  0 6  山口  F  1 7  山口  G  1 8  山口  H  1 9  山口  I  1 10 山口  J  1 ■C2セル =MOD(C1+(A1<>A2),2) フィルハンドルをダブルクリック C列を1行目から最終行まで選択して [フィルタ]→[オートフィルタ] まず「1」を抽出し行番号が青字の D列の2行目から最終行までを選択 Alt + ; で可視セル選択をして[セルの結合] 次に「0」を抽出して同じ処理を行う。 これで D列に結合された範囲が作成されるので オートフィルタを解 除後 D列をコピーして A列に[形式を選択して貼り付け]→[書式]を 選択して[OK] でいいと思います。

mantel
質問者

お礼

Chiquilinさん 無事にセルの結合を行うことができました。 早急にお答え頂きありがとうございました。

関連するQ&A