表の「区切りとしての空白行」禁止!

昨日は、一つ上のセルと同じデータを「↑」で記載する表について、これを修正するマクロを作成してみた。
infoment.hatenablog.com

ところが実は、この表にはもう一つの仕掛けがあったのだ。
f:id:Infoment:20190517232011p:plain

その仕掛けとは、「案件の区切りとして空白行を用いる」という「工夫」だ。
f:id:Infoment:20190517232318p:plain

これだと、昨日の「一旦空欄にしてから」という考え方が使えない。さて、どうしたものか。

ということで、今回は仕方が無いので、以下の工程を経ることにした。

  1. 空欄に一旦、普段はおよそ使わないであろう文字をセットする。
  2. 「↑」を空欄にする。

以降は、昨日と同じだ。

Sub 上と一緒()
    With Selection
        .SpecialCells(xlCellTypeBlanks) = "☆彡★☆彡"
        .Replace "↑", vbNullString, xlWhole
        .SpecialCells(xlCellTypeBlanks) = "=R[-1]C"
        .Value = .Value2
        .Replace "☆彡★☆彡", vbNullString, xlWhole
    End With
End Sub

これで何とか、意図した編集はできたわけだが、何だか楽しくない。このような「その場限り」のマクロ作りは、できるだけ減らしたいところです。

参考まで。