No.9ベストアンサー
- 回答日時:
大変失礼しました。
回答No8のコード及び添付画像を貼り間違えました。
正しくは以下のコード及び添付画像になります。
■VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = False
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j, 0) = .Color '文字色
para(j, 1) = .Size '大きさ
para(j, 2) = .Italic '斜体
para(j, 3) = .Bold '太字
para(j, 4) = .Strikethrough '取り消し線
para(j, 5) = .Subscript '下付き
para(j, 6) = .Superscript '上付き
para(j, 7) = .Underline '下線
End With
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit Function
End If
Next j
Next i
End Function
No.8
- 回答日時:
追記です。
質問内容ではB列に指示事項を記載してC列に表示とありますが
規範のA列と比較する対象のセルが不明です。
以下のコードでは比較対象の文字列をB列に入力するものとしています。
「書式もふくめて~」とありましたので値が一致しない場合に「err」
ではなく、一致していなければFalseを返すようにしています。
また以下のコードでは書式の判定対象を増やしていますが
文字に対する書式であり、セルに対する書式の判定は行っていません。
(セルの背景色や網掛けパターン、罫線の有無、種類等)
■VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = "err"
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j, 0) = .Color '文字色
para(j, 1) = .Size '大きさ
para(j, 2) = .Italic '斜体
para(j, 3) = .Bold '太字
para(j, 4) = .Strikethrough '取り消し線
para(j, 5) = .Subscript '下付き
para(j, 6) = .Superscript '上付き
para(j, 7) = .Underline '下線
End With
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit Function
End If
Next j
Next i
End Function
No.7
- 回答日時:
回答No.5でmshr1962さんもおっしゃっていますが、
ユーザー定義関数をVBAで作成してみました。
http://officetanaka.net/excel/vba/beginner/10.htm
上記を参考に以下のVBAコードを標準モジュール内に貼り付けてください。
C2セルに「=書式判定(A2,B2)」を入れると
大きさまたは色が違えば「False」、値が違えば「err」、それ以外なら「True」が表示されます。
■以下VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 2) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = "err"
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
para(j, 0) = tar(j).Characters(Start:=i, Length:=1).Font.ColorIndex
para(j, 1) = tar(j).Characters(Start:=i, Length:=1).Font.Size
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit For
End If
Next j
Next i
End Function
No.6
- 回答日時:
>やはり文字の色など書式の判別は関数では難しいのですかね・・・
他の回答者からCELL関数の提言がありましたが、文字の色や文字の大きさ、背景の色等は対象外です。
CELL("format",A1)については値の表示形式であってセルの書式全般ではありません。
CELL関数の検査の種類("format"等)には他にも検査の種類がありますが、あなたの目的には合わないと思います。
詳しくはCELL関数のヘルプで確認してください。
また、表示形式を変更しても自動再計算では反映されず、手動で再計算を行わないと判定結果が変わらない場合もあります。
ご回答ありがとうございました!関数では実現できないことが分かっただけでもかなり助かりました、ありがとうござました。m(_ _)m
No.5
- 回答日時:
>文字の色など書式の判別は関数では難しいのでしょうか
VBAを利用したユーザー定義関数なら可能ですが。。。
・文字色の色番号を取得する関数
http://veaba.keemoosoft.com/2013/02/550/
No.4
- 回答日時:
=AND(CELL("format",A1)=CELL("format",B1),EXACT(A1,B1))
CELL("format",A1)=CELL("format",B1)で書式のチェック
EXACT(A1,B1)でアルファベットの大文字と小文字の比較も含めた一致・不一致
この二つをANDで比較すれば出来ます。
ご回答ありがとうございます。かなり解決に近づいたと思いましたが、こちらの式でも文字の色や大きさなどを判別して正しい結果を出すことが出来ませんでした・・・やはり文字の色など書式の判別は関数では難しいのでしょうか・・・
No.1
- 回答日時:
こんばんは!
関数によって書式の判断はできないはずです。
C2セルに「TRUE」か「FALSE」を表示させたい!というコトですので、
数式はC2セルにいれます。
C2セルに
=IF(A2=B2,TRUE)
としてみてください。
※ B2セルに入力がない場合何も表示させたくないのであれば
=IF(B2="","",IF(A2=B2,TRUE))
といった感じにしてみてはどうでしょうか?m(_ _)m
ご回答ありがとうございます。やはり文字の色など書式の判別は関数では難しいのですかね・・・いずれにせよありがとうございました。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
Excel countif関数で取り消し線のセルをカウントしないようにしたい countif関数で文
Excel(エクセル)
-
Excel 書式の一致を調べる関数はありますか?
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
エクセルの取り消し線を検出するコード
Visual Basic(VBA)
-
5
Excelのカウント関数に関しての質問です。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
Excel 書式を関数で判断。
-
excel関数式の一部を太字にする
-
エクセルのピボットテーブルの...
-
エクセルで、書式は変えずに連...
-
EXCEL 表の書式のみ変更不可(...
-
Excel 条件付書式で土日の左・...
-
エクセルで重複データを行ごと...
-
EXCEL 条件付書式で1つの条件欄...
-
excelで選択範囲の反転をしたい...
-
エクセルでコメントを入れた時...
-
エクセル:一定以上の数値にな...
-
VBAでシート書式の自動変換を作...
-
Excel2003 の条件付き書式、「...
-
指定した期限が近づくとセルの...
-
条件付き書式が選択できない?!
-
エクセルでのセル書式について
-
Excel 2007: 条件付き書式を一...
-
条件付き書式(色変更)は、予...
-
エクセルで1年前の日付になった...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
excel関数式の一部を太字にする
-
Excel 書式を関数で判断。
-
EXCEL 表の書式のみ変更不可(...
-
エクセルのピボットテーブルの...
-
excelで選択範囲の反転をしたい...
-
Excel 条件付書式で土日の左・...
-
エクセルで重複データを行ごと...
-
エクセルで、書式は変えずに連...
-
VBAでシート書式の自動変換を作...
-
条件付き書式が選択できない?!
-
Excel 条件付書式で二つの条件...
-
エクセル:一定以上の数値にな...
-
エクセルで2つのシートで重複し...
-
EXCEL 条件付書式で1つの条件欄...
-
条件付き書式(色変更)は、予...
-
Excel2003 の条件付き書式、「...
-
EXCELにて、整数と小数点を色分...
-
エクセルで1年前の日付になった...
-
条件付き書式の条件に時刻を指...
おすすめ情報