質問: VBAで、下記のような処理をするマクロを作りたいです。 1A列の中から"○○"の文字を探して、その文字がある行の1つ上に空白の行を挿入する 2列A~D、行6~最後の範囲に枠線(格子)を書く。ただし、"○○"の文字がある行と、その上の空白の行には枠線を書かない。 3"○○"の文字の上下に作った表のC列の文字をそれぞれ昇順に並べ替える。 申し訳ありませんが、どなたかご教授いただけないでしょうか。。。
回答: Option Explicit ' Sub Macro1() Dim Search As Range Dim RowT As Long Dim RSta As Long Dim RowF As Long ' [A:D].Borders.LineStyle = xlNone RowT = CellS(RowS.Count, "C").End(xlUp).Row Set Search = [A:A].Find("○○", LookAt:=xlWhole, SearchDirection:=xlPrevious) ' If CellS Is Nothing Then End End If ' Do While Search.Row < RowT RowF = Search.Row + 1 ' With Range("A" & RowF, "D" & RowT) .Borders.LineStyle = xlContinuous .Sort key1:=CellS(RowF, "C") End With Range("A" & RowF - 1, "D" & RowF - 1).Insert xlShiftDown RowT = RowF - 2 Set Search = [A:A].FindPrevious(Search) Loop End Sub