- 締切済み
エクセルのデータに条件を指定して線を引く方法について
エクセルのデータで条件を満たす行に太線を自動的に線を引くようにしたいのですが、何か良い方法はないでしょうか? 例)データの中でN100,N110,N200の数字の入った行がそれぞれ何行かあってN100ならば、N100の最後の行に太線を引いていく方法なのですが。 もし、分かる方がいらっしゃったら教えてください。 よろしくお願いいいたします!!
- みんなの回答 (5)
- 専門家の回答
みんなの回答
幾つの条件があるのかわかりませんが、 If Cells(i, 1).Value = "N100" _ Or Cells(i, 1).Value = "N110" _ Or Cells(i, 1).Value = "N110" Then 単純に「OR」で繋げばよいかと。
>このプログラムは、「Visual Basic Editeor」に入力するということでしょうか? はいそうです。 プロジェクトのところで右クリックして標準モジュールを追加して、その中に 貼り付けます。
補足
返答をありがとうございました!! 早速、実際に貼り付けてみたらできました。 ただ、このプログラムはN100に関して線を引くようになっているようですが、他の例えばN110とかN210とか複数条件がある場合は、プログラムの「Value = "N100" Then」の"N100"のところに"N110"と付け足して行けば良いのでしょうか? 何度も申し訳ございませんが教えてください。 よろしくお願いします。
VBAでこんな感じでしょうか? 行と言われてもどこまでかわからないので、A列からE列までとしています。 値の判断はA列で行っています。 Sub test() Dim i As Long Cells.Borders(xlEdgeBottom).LineStyle = xlNone For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Cells(i, 1).Value = "N100" Then With Range(Cells(i, 1), Cells(i, 5)).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThick End With Exit Sub Else With Range(Cells(i, 1), Cells(i, 5)).Borders(xlEdgeBottom) .LineStyle = xlNone End With End If Next i End Sub
補足
早速の返答、ありがとうございました。 このプログラムは、エクセルのマクロから「Visual Basic Editeor」に入力するということでしょうか?
- yuta2
- ベストアンサー率27% (75/273)
こんにちわ。 条件付書式で解決できます。 使い方わからなかったらまた質問してくださいね。
お礼
返答、ありがとうございました!! 一度、試してみます。
- ysko614
- ベストアンサー率31% (103/329)
条件付き書式を使えば範囲内のシートの地の色を変更する事や罫線を変更する事は可能ですが、太線にする事はできないようです。ですが地の色を別の色にするなどして色の変更で確認する事は可能です。 設定方法は、範囲指定後、[書式]から[条件付き書式]で[セルの値]が次の値に等しいの後に値を入れていきます。この後、[書式]をクリックして、任意の[書式]に変更します。 ただし、一つのセルに設定できる書式は3つまでです。
お礼
返答、ありがとうございました!! 一度、試してみます。
補足
返答、ありがとうございました!! 条件は、たくさんあるのですが規則性があまりないので単純に「OR」で繋ぐしかないですか? また、全体の列が15列で条件が入っているのが14列目だったので、下記の様に変更したら線は、引けたのですが3行までしか線をひく事ができませんでした。何か、行数の指定もする必要があるのでしょうか?大体、4000行あります。 本当に何度もすみませんが教えてください。よろしくお願いします!! Sub test() Dim i As Long Cells.Borders(xlEdgeBottom).LineStyle = xlNone For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Cells(i, 14).Value = "N100" Then With Range(Cells(i, 1), Cells(i, 15)).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThick End With Exit Sub Else With Range(Cells(i, 1), Cells(i, 15)).Borders(xlEdgeBottom) .LineStyle = xlNone End With End If Next i End Sub 表のイメージはこんな感じです。(列は、省略してます) 9101860 みかん N100 D 9202368 りんご N100 D 9302067 パイン N100 D 9502626 キュウイ N110 D 9502704 すいか N110 D 9502705 マンゴ N110 D 9600694 いくら N120 D 9600706 えび N120 D 9600744 回想 N175 D