- ベストアンサー
結合セル内の値を解除後のセルへコピーする方法
- 結合セル内の値を解除後、それぞれのセルへ値をコピーする方法について教えてください。
- 現在、結合セルを全て解除し、各セルに値をコピーする方法を使用していますが、時間がかかってしまいます。
- 高速化するために、上から順に結合セルを探し、解除後のセルに値をコピーする方法を試してみたいです。どのように記述すれば良いでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
使用範囲が少なければ、時間はそれほどかからないと思います… Sub 結合解除() Dim 範囲 As Range Dim 結合範囲 As Range Dim 値 As Variant For Each 範囲 In ActiveSheet.UsedRange If 範囲.MergeCells Then Set 結合範囲 = 範囲.MergeArea 値 = 範囲 範囲.UnMerge 結合範囲 = 値 End If Next End Sub
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
たとえば sub macro1() dim LastRow ’一番下にあるのが結合セルかそうでないかで,末尾セルの取り方を工夫 with range("A65536").end(xlup) if .mergecells then lastrow = .offset(1).row - 1 else lastrow = .row end if end with 'セルを一個ずつなめるよりは,少し早くできると思います range("A:A").unmerge with range("A2:A" & lastrow) .specialcells(xlcelltypeblanks).formular1c1 = "=R[-1]C" .value = .value end with end sub
- oosakin
- ベストアンサー率0% (0/1)
的外れだとごめんなさい、a1~e1結合セルを解除します,(セルは選択状態)そのままメニューから編集・ファイル・右方向にコピーでどうでしょうか。
- Cupper
- ベストアンサー率32% (2123/6444)
手動で行う手順を書いてみますので、ご自身でも考えてみてください、 1.A1セルを選択する 2.結合を解除する 3.結合されていたセルが選択されたまま、Ctrlキーと Dキーを同時に押す 4.Shiftキーを押しながら Enterキーを押す 5.下向き矢印を押す 6.2へ戻る
お礼
お返事が遅くなり申し訳ありません。 頂いたものをそれぞれ試してみて、一番シンプルかつ処理速度が早かった、 こちらのコードを使わせて頂きました!