プロが教えるわが家の防犯対策術!

インデントが下がったセルだけを抜きだして移動させたい

掲題について質問させてください。
webページをExcelにコピーすると、
大見出しの部分だけ、インデントがずれた状態で貼り付けされます(下図だと全てB列にインデントがずれた状態で貼り付けされているとします)。このインデントがずれた大見出し部分だけを抽出して、隣列に自動でセルを移すことは可能でしょうか?

A列 B列
大見出し1
小見出し
小見出し
小見出し
大見出し2
これを
A列 B列
大見出し1
小見出し
小見出し
大見出し2

のような状態にしたいです。

皆様のお力を是非お借りしたく思います。何卒よろしくお願い致します。

A 回答 (1件)

インデントの情報を取得するような関数は用意されていないようなので、VBAになってしまいます。


下記のサンプルは、B列に対してインデントレベルを判定し、インデントが設定されている場合、その左隣セル(A列)に転記した後、元セル(B列)をクリアしています。

Sub sample()
Dim r As Range
For Each r In Range("B1:B" & Cells(Rows.Count, "B").End(xlUp).Row)
If r.IndentLevel <> 0 Then
r.Offset(0, -1) = r.Value
r.Clear
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

ママチャリ様

お礼が遅れてしまい、大変申し訳ありません!!

いただいたサンプルコードで上手くいきました!!

ベストアンサーにさせていただきます!

お礼日時:2016/04/26 08:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!