全国の賃貸マンション賃貸アパートなどお部屋探しから、賃貸生活お役立ちサービスまで情報満載!

賃貸アパート・賃貸マンションなど賃貸情報を扱う賃貸物件検索サイト「CHINTAI」
物件を探す不動産会社を探すタウン情報を調べるお部屋探しガイド お気に入り物件を見る保存条件で検索
ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:mantel 以下のようなセルの結合って、どうすればいいのでしょうか?
困り度:
  • すぐに回答を!
みなさん、是非教えて頂けないでしょうか。
エクセルで、以下のようにセルを即座に結合できる方法を探しています。

名前 お店
松本 A
松本 B
松本 C
鈴木 D
山口 F
山口 G
山口 H
山口 I
山口 J



名前 お店
    A
松本 B
    C
鈴木 D
    F
    G
山口 H
    I
    J

名前毎に、次の列の名前が変わったら、その連続している名前のセルを全て結合したいのです。

全部で約7500行、名前が500程あるので、中々手作業だと時間がとられて仕方ありません。
どなたか、お力を貸して頂けないでしょうか。
よろしくお願い致します。
質問投稿日時:08/07/04 11:24
質問番号:4150289
最新から表示回答順に表示

回答

 

回答者:merlionXX 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)を選択して実行

これでできます。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/04 12:54
回答番号:No.4
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼merlionXXさん
説明をご丁寧に記入して頂いたおかげで、無事にセルの結合ができました。
どうもありがとうございました。

回答

 

回答者:ts3m-ickw 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
種類:回答
どんな人:一般人
自信:自信あり
回答日時:08/07/04 12:13
回答番号:No.3
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼ts3m-ickwさん
あっという間に対象の名前を全て結合することができました。
1つ1つクリックするだけなので、とても作業が簡素化されました。
本当にありがとうございました!

回答

 

回答者:ts3m-ickw こんなマクロを組んで実行して、あとは左クリックか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
種類:回答
どんな人:一般人
自信:参考意見
回答日時:08/07/04 11:57
回答番号:No.2
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:Chiquilin     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]

でいいと思います。
種類:回答
どんな人:一般人
自信:参考意見
回答日時:08/07/04 11:53
回答番号:No.1
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼Chiquilinさん
無事にセルの結合を行うことができました。
早急にお答え頂きありがとうございました。
最新から表示回答順に表示