
こんにちは、宜しくお願いします。
(Visual Basicのカテゴリに失礼します。)
添付画像のような表があったとして、A1~C1までと、A8~C8までは文字が入るとします。
その文字がABAと表示されたら、すぐ3つ下のセルまでに斜線を引きたいと思っています。
過去の質問を参考に頑張って考えてみた結果、
Sub AAAに罫線()
Dim c As Range
'一旦斜罫線無しの状態にする
Range("A1:C1").Offset(1, 0).Borders(xlDiagonalDown).LineStyle = xlNone
Range("A1:C1").Offset(2, 0).Borders(xlDiagonalDown).LineStyle = xlNone
Range("A1:C1").Offset(3, 0).Borders(xlDiagonalDown).LineStyle = xlNone
Range("A8:C8").Offset(1, 0).Borders(xlDiagonalDown).LineStyle = xlNone
Range("A8:C8").Offset(2, 0).Borders(xlDiagonalDown).LineStyle = xlNone
Range("A8:C8").Offset(3, 0).Borders(xlDiagonalDown).LineStyle = xlNone
'AAAなら1行下~3行下までのセルに斜罫線を表示
For Each c In Range("A1:C1,A8:C8")
If Format(c.Value, "aaa") = "ABA" Then
c.Offset(1, 0).Borders(xlDiagonalDown).LineStyle = xlContinuous
c.Offset(2, 0).Borders(xlDiagonalDown).LineStyle = xlContinuous
c.Offset(3, 0).Borders(xlDiagonalDown).LineStyle = xlContinuous
End If
Next
End Sub
自信はありませんが、こんな感じで動きはしたのですが、もう少しコンパクトに
なるのではないかと思い質問してみました。
なにぶん初心者ですので、おかしな所があると思います。
添削していただけないでしょうか。
宜しくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんばんは!
コード内の
>If Format(c.Value, "aaa") = "ABA" Then
が何を意味しているのかイマイチ判らないのですが、
値が「ABA」という解釈での一例です。
Sub Sample1()
Dim c As Range
Range("A2:C4,A9:C11").Borders(xlDiagonalDown).LineStyle = xlNone
For Each c In Range("A1:C1,A8:C8")
If c = "ABA" Then
c.Offset(1).Resize(3).Borders(xlDiagonalDown).LineStyle = xlContinuous
End If
Next c
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) オートフィルタで抽出結果に 罫線をひく方法 1 2022/07/13 13:08
- Visual Basic(VBA) VBA 罫線について B列3行目から21行毎にデータがはいります。 データがはいったらデータが入った 6 2022/11/15 17:22
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- その他(Microsoft Office) 選択行の列範囲に二重線を引く 3 2022/06/08 12:21
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) Excelで縦1列に並んだ大量の数字から、一定間隔で平均値を出したい。 2 2023/02/20 09:17
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルの質問です。条件によってセルに斜線を引きたいのですが。
その他(OS)
-
Excelの関数について、特定の文字を入れると斜線や線を入れることは出来ますか?
Excel(エクセル)
-
罫線の斜線を自動で引くマクロ
Excel(エクセル)
-
-
4
Excel データ入力に応じて自動的に斜線を引きたいのですが
Excel(エクセル)
-
5
条件付き書式で自動で斜線の罫線を引く
Excel(エクセル)
-
6
特定の値のセルに罫線を引くマクロ
Excel(エクセル)
-
7
Excel(VBA)データ入力に応じて複数範囲のセルの上に1本の斜線を引きたい
Excel(エクセル)
-
8
「B列が日曜の場合」C列に/(斜線)が入るようにならないものでしょうか?
Excel(エクセル)
-
9
エクセル 結合セル内に空白なら斜線を引くマクロ
Excel(エクセル)
-
10
土曜・日曜・祝日に罫線を引く VBA
Visual Basic(VBA)
-
11
vlookupで返された値が空白だったら斜線をひく
会計ソフト・業務用ソフト
-
12
斜め罫線の判定 ExcelVBA
Excel(エクセル)
-
13
エクセルで条件付きで罫線の斜線を引きたいです。
その他(Microsoft Office)
-
14
エクセルで自動に休日の列に網がけする方法を教えてください
Excel(エクセル)
-
15
エクセルで複数のセルに一本の斜線を引く場合
Excel(エクセル)
-
16
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
17
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
18
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
19
EXCEL:特定の文字が入力された日付を表示する方法
Excel(エクセル)
-
20
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル、ページをまたがった...
-
パワーポイントの表
-
ワードの文章囲み枠(?)を消...
-
ワードで勝手に点線ラインがでる
-
Excelの表をWordにリンク...
-
(Word)点線枠の消し方を教えて...
-
エクセルで遥か下まで線が出来る
-
ホームページの表をワードに貼...
-
ワードの表の罫線が見えるけど...
-
googleスプレッドシートで「塗...
-
パソコンのワードでこの様な割...
-
エクセルの表をワードに貼り付...
-
[Word]スペースに囲み線はつけ...
-
PDFファイルの罫線を消す方法
-
PowerPointの表の罫線を二重罫...
-
word 2016 罫線が引けないのは...
-
回覧板
-
エクセルのカットアンドペース...
-
エクセル 罫線の色が変えられ...
-
Wordで左右に分割
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル、ページをまたがった...
-
パワーポイントの表
-
ワードの文章囲み枠(?)を消...
-
Excelの表をWordにリンク...
-
PDFファイルの罫線を消す方法
-
ワードの表の罫線が見えるけど...
-
(Word)点線枠の消し方を教えて...
-
エクセルで遥か下まで線が出来る
-
googleスプレッドシートで「塗...
-
PowerPointの表の罫線を二重罫...
-
ワードで勝手に点線ラインがでる
-
[Word]スペースに囲み線はつけ...
-
罫線を引いて保存しても消えて...
-
Wordで左右に分割
-
wordで罫線が引けない・・・
-
Wordのページの上下に罫線みた...
-
オプションボタンの背景を透明...
-
ホームページの表をワードに貼...
-
エクセルの表をワードに貼り付...
-
WORD- - - - -点線が消えません
おすすめ情報