5

ボーダー形式を維持しながら新しい行を挿入する方法はありますか? 罫線を除くすべての書式を保持しながら挿入できます。私が作成しているマクロは、基本的にユーザーに値 (strXX) を要求し、それをリストで検索します。存在しない場合は、以下が実行されます。

iRow = WorksheetFunction.Match(strXX, Columns("A")) + 1
Intersect(Range("Z:TT"), Rows(iRow)).Insert _
XlInsertShiftDirection.xlShiftDown, CopyOrigin:=Excel.XlInsertFormatOrigin.xlFormatFromLeftOrAbove

CopyOriginに関して変更する必要があるものはありますか? 貼り付け関数を介して使用できるメソッドがあるようですが、.Insert を使用する場合に同様のメソッドを見つけることができません。

どんな支援も大歓迎です...ありがとう!

更新 (8/15): この投稿以降、スプレッドシートの内容を再フォーマットし、問題を回避できるようになりました。元の構成では境界線をコピーできなかったので、フィードバックに非常に興味があります。これは後々確実に復活します。サポート情報については、以下を参照してください。

更新されるシートは 2 つあります。1 つ目は、セルの書式設定が保持されるためうまく機能します (境界線は必要ありません)。下記参照。 ここに画像の説明を入力

この投稿で説明されている問題は、2 番目のシートに関連しています。行が挿入され、境界線 (標準の「外側の境界線」設定) を除いてすべての書式が保持されます。下記参照。 ここに画像の説明を入力

4

1 に答える 1

1

コメントで提案されているように、次のようなコードでそれを行うだけです

With cell.Borders(xlEdgeTop)
   .LineStyle = xlContinuous
   .ColorIndex = 0
   .TintAndShade = 0
   .Weight = xlThin
End With
With cell.Borders(xlEdgeBottom)
   .LineStyle = xlContinuous
   .ColorIndex = 0
   .TintAndShade = 0
   .Weight = xlThin
End With
With cell.Borders(xlEdgeRight)
   .LineStyle = xlContinuous
   .ColorIndex = 0
   .TintAndShade = 0
   .Weight = xlThin
End With
With cell.Borders(xlEdgeLeft)
   .LineStyle = xlContinuous
   .ColorIndex = 0
   .TintAndShade = 0
   .Weight = xlThin
End With
于 2015-06-09T04:06:40.297 に答える