Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excel/VBAのこと35】セルの書式を判別する(取消線、文字色、背景色)

   f:id:tuna-kichi:20200223230814p:plain

 

 **************************************

業務で使用する資料は、状況に合わせて変更されたり、誤記を修正されます。

 

変更履歴を作成してあれば、それで変更箇所と経緯を確認できるのですが、

 

変更履歴が無いものも多いです。

 

 

新しい版に、「取り消し線」を使用して、変更(削除)を指示している場合もあります。

 

関数では、色などの書式を判別することができないんでんです。

  関数では色は判別できない

色がついていたり、太字になっていても同じものと判定されてしまいます。

 

書式に差があるかを調べるマクロです。

 

**********************************************

マクロ

 

Sub 書式いろいろ判定()

 '取り消し線の判定

 If Selection.Font.Strikethrough = True Then
   MsgBox "取り消し線が付いています"
 Else

   MsgBox "取り消し線は付いていません"
 End If

 

 '文字色有無の判定

 If Selection.Font.ColorIndex = xlAutomatic Then
   MsgBox "文字の色は自動(黒)です"
 Else

   MsgBox "文字に色が付いていません"
 End If

 

 '背景色有無の判定

 If Selection.Interior.Pattern = xlNone Then
   MsgBox "背景色が付いていません"
 Else

   MsgBox "背景色が付いています"
 End If

 

 '太字の有無の判定 

 If Selection.Font.Bold = True Then
   MsgBox "太字です"
 Else

   MsgBox "太字ではありません"
 End If

 

 '斜体(イタリック)有無の判定

 If Selection.Font.Italic= True Then
   MsgBox "斜体です"
 Else

   MsgBox "斜体ではありません"
 End If

 

End Sub

-----------------------------------------------------

MsgBox の所を、結果を入力するセルに指定したり、True であれば、False に変換する記述にもできます。

 

 

**************************************** 

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/