[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『罫線を引くマクロについて』(てつ)
お世話になってます。 罫線を引くマクロの根本的なことを教えてください。 いろんな書き方があると思うのですが, 格子状に引くにはどうすればいいのでしょうか? できれば一番簡単で覚え安いのがいいですが・・・ ネットで調べようとしてもなかなかうまいこと出てきません。
With Range(Cells(max_r + 1, 2), Cells(max_r + 1, 4)).Borders .Weight = xlThin End With
>一番簡単で覚え安いのがいいです ならば、マクロの記録で取得したコードが一番だと思います。 (1or8)
確かに! でもマクロの記録は不要なこともいっぱいしていると聞いたので 上のコードだと。BORDERSのあとに(括弧)でどこに 線を引くかを指定しなくちゃいけないと言うことでしょうか? (てつ)
> 格子状に引くにはどうすればいいのでしょうか? / なやつ?
xlDiagonalUp または Down (seiya)
田んぼです。 (てつ)
記録を取ると↓が得られます。 Sub Macro1() Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub
線の太さや色、種類はそのままの場合、まとめると↓ Sub Macro1() With Selection .Borders(xlEdgeLeft).LineStyle = xlContinuous .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeRight).LineStyle = xlContinuous .Borders(xlInsideVertical).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous End With End Sub
提示のセルにあてはめると↓ Sub Macro1() With Range(Cells(max_r + 1, 2), Cells(max_r + 1, 4)) .Borders(xlEdgeLeft).LineStyle = xlContinuous .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeRight).LineStyle = xlContinuous .Borders(xlInsideVertical).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous End With End Sub
線の太さや色を変える場合は、記録のコードが意外と簡潔だったりします。
(1or8)
> 田んぼです。 なら、もとのコードそのままでいいんじゃないの? Range(Cells(max_r + 1, 2), Cells(max_r + 1, 4)).Borders.Weight = xlThin (seiya)
.Borders.Weight = xlThin なるほど! これだけでいいんですね! 勉強になります。 (1or8)
cellsと言う記述に慣れておられないとか・・・? Range("B" & max_r + 1 & ":D" & max_r + 1).Borders.Weight = xlThin
変数が入っているから、今一わかりにくい とか・・・? max_r=1 の時に罫線が引かれる範囲 Range("B2:D2").Borders.Weight = xlThin
(HANA)
cellsは大丈夫なんですが,ネットで線を引く解説が出てこなかったので・・・ どこか詳しいサイトなどありましたらご教示ください。 ただ Range(Cells(max_r + 1, 2), Cells(max_r + 1, 4)).Borders.Weight = xlThin でエラーになります。 BordersクラスのWeightプロパティを設定できません。 (てつ) ---- Range(Cells(max_r + 1, 2), Cells(max_r + 1, 4)).Borders.Weight = xlThin cellsの前にws2を入れるのを忘れてました。 すいません (てつ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.