- ベストアンサー
VBAでの計算後のセルに2重線で囲む
まだPC・VBA不慣れな為、実行できないので、教えてください。 c16セルに休日を入力すると無理つぶしは成功しましたが、c16セルに祭日を入力すると赤の2重線で囲みたいのですが、できませんので、方法をお願いします。 もう1点がCELLS・RANGEを使った2種類の方法をお願いします。 よろしくお願いします。 Sub 練習44() Dim kyuyo As Currency If Range("c16").Value = "祭日" Then Worksheets("練習1If~Then").Cells(16, 3).xlDouble.ColorIndex = 3 ElseIf Range("c16").Value = "休日" Then Worksheets("練習1If~Then").Cells(16, 3).Interior.ColorIndex = 5 Else Worksheets("練習1If~Then").Cells(16, 3).Interior.ColorIndex = 10 End If End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記を参考に Sub 練習44() Dim kyuyo As Currency With Worksheets("Sheet1") If .Range("C16").Value = "祭日" Then .Cells(16, 3).Interior.ColorIndex = 7 .Cells(16, 3).BorderAround xlDouble, xlThick ElseIf .Range("c16").Value = "休日" Then .Cells(16, 3).Interior.ColorIndex = 6 .Cells(16, 3).Borders.LineStyle = xlLineStyleNone Else .Cells(16, 3).Borders.LineStyle = xlLineStyleNone .Cells(16, 3).Interior.ColorIndex = 8 'Blue End If End With End Sub ーー VBAの本を勉強し始めてすぐという感じ。 (1)Sheet1にしたのは普通の回答者がすぐテストしやすいように。 練習1If~Thenのような奇異な名前は、質問するときに変えるように。 (2)色を変えたのは、質問のままだと、セルの値が見えなくなるから。 (3)Withを使って、セルの表現の短縮化と明確化 Range("c16").は練習1If~Thenシートのセルかな。 (4)2重罫線消しは、必要な気がして入れた。次ぎの月などに 使うとき? (5)").Cells(16, 3).xlDouble.ColorIndex = 3 は全く予想外。2重罫線の解説にそんなコードは載って無いでしょう。
その他の回答 (1)
- olive_surf
- ベストアンサー率27% (9/33)
こんにちは。 やり方はいくつかありますが、下記は1例です。 If Range("c16").Value = "祭日" Then Range("c16").Borders.LineStyle = xlDouble Range("c16").Borders.ColorIndex = 3 End If cellsを使いたい場合は、2,3行目を下記に変えてください。 Cells(16, 3).Borders.LineStyle = xlDouble Cells(16, 3).Borders.ColorIndex = 3 ではでは。
お礼
遅くなりました。 まだまだ勉強不足ですが、またよろしくお願いします。