0

特定の範囲内のセル行を強調表示する 4 つのワークシート内で現在実行されているマクロがあります (範囲はワークシートごとに異なります) が、ワークシートをきれいに保ち、組み込みの強調表示を残さないようにするために、マクロが含まれている各ワークシートのセル A6 をクリックすると、強調表示がクリアされます。私の問題は、ワークシートを使用する他のユーザーがこの方法に従うようになっているため、Workbook_BeforeSave ワークブック関数を使用して、ファイルの保存時にワークシートのすべての強調表示をクリアする方法があるかどうかを確認しようとしています。

ワークブック モジュールの各ワークシートに存在する「クリア フォーマット」サブを繰り返す方法はありますか? ワークシート モジュールのクリア コー​​ドは次のとおりです (ただし、ワークブック モジュール内で機能させることはできないようです)。

Dim bInRange As Boolean
Static rOld As Range

If Not bInRange Then
Set rOld = Nothing
Exit Sub
End If
4

2 に答える 2

1

このようなコードを実行できます

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

call sheet1.clear_formatting
call sheet2.clear_formatting
call sheet3.clear_formatting
call sheet4.clear_formatting
end sub

sheet1 はそのシートのコード名です。sheets("sheet1").clear_formatting を使用することもできます。

または、できるシートがたくさんある場合

for each ws in activeworkbook.sheets
    call ws.clear_formatting
next
于 2015-07-17T15:03:19.480 に答える