
エクセルでの質問です。
複数の連結セルがあり、それぞれ別の値が入っています。
その複数の連結セルを一括で全て連結解除した際、空白セルが出来ないように連結解除する方法はありますか。
つまりAという値が入っていた結合セル(5行×1列)には、連結解除で5行×1列全てにAという値が、Bという値が入っていた結合セル(8行×1列)には、連結解除で8行×1列全てにBという値がはいるようにしたいです。
条件は列は1列で同じ列です。
行は連結セルによって、5行だったり12行だったりまちまちです。これらを一気に連結解除し、全ての
セルに値を入れたいです。
確か以前に出来たと思うのですが、どうしてもやり方が思い出せません。
確か連結解除した後にジャンプ→セル選択だったような。ここからが思い出せません。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
結合セル範囲を選択
結合を解除
Ctrl+G で「ジャンプ」ダイアログ表示
Alt+S で「セル選択」から「選択オプション」ダイアログ表示
k で「空白」オプション選択
Enter で「OK」して空白セルのみを選択
最上行セルがアクティブなので例えばA2なら
空白セル範囲選択状態のまま
=A1
と上部セルの参照式を入力し編集状態のまま
Ctrl+Enter で確定
元の結合セル範囲を選択
Ctrl+C でコピー
その場で
Alt+E、S、V、Enter で「形式を選択して貼り付け」の「値」で貼り付け
ありがとうございます!教えていただいたやりかたで出来ました。
惜しいところまでいってたんですね。関数を使う事を失念していました。
本当にありがとうごいました。
No.3
- 回答日時:
こんにちは!
VBAでの一例です。
各列1行目には、何かしらのデータが入っているものとします。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, j, k As Long
Application.ScreenUpdating = False
For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
Cells(Rows.Count, j).End(xlUp).Offset(1) = 1
Columns(j).UnMerge
Next j
For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
k = Cells(Rows.Count, j).End(xlUp).Row
For i = 1 To k
If Cells(i, j) = "" Then
Cells(i, j) = Cells(i - 1, j)
End If
Cells(k, j).Delete (xlUp)
Next i
Next j
Application.ScreenUpdating = True
End Sub 'この行まで
※ 一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。
参考になれば良いのですが・・・m(_ _)m
No.2
- 回答日時:
結合セルを解除したと同時に(1操作だけで、設定とかで)質問のようなことは出来ないでしょう。
ステップが(1)セル結合解除(2)出来た空白セルに元(左上隅セル)のセルの値をセット
を結合セル範囲の1つずつ行うのでなければ。
セル結合を解いても範囲指定は残ってくれるが、そこでジャンプーセル選択ー空白セルーOKで残りのセルを範囲指定してくれるが、次の左上隅のセルの値を貼り付ける操作が、選択できたセル範囲を崩しまう。
既に回等が出ているので、そちらをやってみてください。
ーー
こういうのはそんなに利用頻度があるのかな。こんなところへ質問している間に10箇所ぐらいなら、操作で終わると思う。
ーー
人間がやることの繰り返しをVBAでやれば出来る。しかしそこまでやるか、と思う。
少数しかテストしてないが、下記のようなもの。
標準モジュールに
Sub test01()
Dim cl
Dim a As String
For Each cl In Range("A1:D30")
If cl.MergeCells = True And cl <> "" Then
a = cl.MergeArea.Address
v = cl.Value
MsgBox v
cl.UnMerge
Range(a) = v
End If
Next
End Sub
Range("A1:D30")を適当に変えて。
他人が作ったデータをいじる事が多く、使い勝手が悪いデータのを使いやすい表に変換する課程で、表題のような作業が発生するんです。
しかもおっしゃる通り10カ所ぐらいなら、一つ一つ入力してコピペすればいいですが、100や200もあったらわざわざ入力するのも面倒ですので。。。
VBAはあまりわからないです(汗)
わざわざありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値と同じ名前のシートのセルの結合を解除する方法を教えてください 3 2022/10/03 10:23
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでセルをクリックする...
-
マクロのデータ削除
-
Excelマクロ セルを行頭に移動
-
Excel VBA:フォーム←→セルのア...
-
(エクセルVBA)セルを左クリッ...
-
VBAでの SendKeysの変数指定方法
-
vbaで指定したセルより下の行を...
-
セルをクリックしたら色を変え...
-
excel マクロでの特殊文字入力方法
-
ファイルサーバー上のexcelファ...
-
【EXCEL-VBA】特定の値の入った...
-
IF関数で違う値もTRUEになる
-
EXCEL(VBA) セルをクリックし...
-
ロックされていないセル内をクリア
-
5桁の数字どうしの要素比較
-
エクセルマクロで「セルのサイ...
-
エクセル マクロ 線対称・点...
-
Excelマクロでウェブ上から現在...
-
結合されたセルの移動 VBA
-
Excel VBA で色付きのセルの値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaで指定したセルより下の行を...
-
エクセルでセルをクリックする...
-
Excel VBA:フォーム←→セルのア...
-
Excelマクロ セルを行頭に移動
-
VBAでの SendKeysの変数指定方法
-
Excelでプルダウンからフィルタ...
-
【マクロ】1つのセルから結合...
-
エクセルマクロで「セルのサイ...
-
セルをクリックしたら色を変え...
-
(エクセルVBA)セルを左クリッ...
-
Excel VBA で色付きのセルの値...
-
ファイルサーバー上のexcelファ...
-
ダブルクリックでセルに色をつ...
-
エクセル:セルの色のコード番...
-
【EXCEL-VBA】特定の値の入った...
-
マクロのデータ削除
-
結合されたセルの移動 VBA
-
VBA Rangeの足し算
-
IF関数で違う値もTRUEになる
-
VBA ボタンをセルの右側に合わ...
おすすめ情報