[過去ログ] Excel VBA 質問スレ Part69 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
879
(5): (アウアウウー Sa0f-fXuR) 2021/03/09(火)10:45 ID:pnwu5thka(1/2) AAS
作成依頼です

一定範囲内において、選択されたセルすべてに、書式設定で取り消し線を付けたいです

たとえば、D5からD20の範囲内で、そこ以外の範囲が選択されていた場合はエラーを返す
範囲内なら、選択されたセル(単一、複数、飛び石あり)すべてに、一括で取り消し線を追加
というような感じです

飛び石状態で複数が選択された場合に、上手く処理できなくて相談させていただきました
よろしくお願い致します
880: (ワッチョイ fb5f-R8lj) 2021/03/09(火)11:04 ID:oV9GYLDS0(1) AAS
>>879
そんな仕様のものを作ってはいけない
881
(1): (ワッチョイ 9f01-HLkV) 2021/03/09(火)11:21 ID:Nc9tdWjH0(1) AAS
>>879
選択範囲をまとめて見るんじゃなくて、選択されたセル一つ一つについて既定の範囲内にあるか条件判断をし、エラーかそうでないか
エラーでなく全てのセルが範囲内なら一つ一つのセルに取り消し線を追加
とすれば普通にできるでしょ
横着しようとしてるからいけないんじゃないの
883: (ワッチョイ eb5f-87Tj) 2021/03/09(火)11:58 ID:zYh1VL3E0(1) AAS
>>879
お金ください
884
(1): (JP 0H8f-/obZ) 2021/03/09(火)12:03 ID:uNAjD4zcH(3/4) AAS
>>879
For Eachでセルを1個ずつ処理するんだよ

For Each、セルアドレスチェック、1つでもD5-D20じゃなかったらエラー
エラーがなかったらもう一度For Each、各セルに取り消し線

みたいな流れ
890: (ワッチョイ 9f01-u5b1) 2021/03/09(火)16:16 ID:1va3W7Si0(1) AAS
>>879
If Intersect(Selection, Range("D5:D20")).Count <> Selection.Count Then
MsgBox "エラー"
Else
Selection.Font.Strikethrough = True
End If
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s