• ベストアンサー

エクセル2000マクロについて

マクロでデータが入力されている所だけ、罫線の格子線を引くマクロを 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>データが入力されている所だけ、罫線の格子線 データが入っているところだけ、というのを厳密に考えると「格子線」でなく「外枠」でいいような気もします。 下のマクロはデータが入っているセルだけを罫線で囲む(外枠)ものです。 Sub 罫線() For m = 1 To 50 For n = 1 To 50 Cells(n, m).Select If Cells(n, m) <> "" Then 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 Else End If Next n Next m End Sub 質問とは違うかもしれませんが、気になったので…。 for n =1 to 50 は1行目から50行目という意味ですので、適当に数字を変えて試してみて下さい。

その他の回答 (2)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.3

あ、ちょっと質問の意味を取り違えてました。 マクロでデータが入力されている所を データの入力をマクロでしていて、そこだけ 罫線をひきたいという 意味にとらえてしまいました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

まず マクロで データを入力した個所を A1からB16とします。 Range("A1:B16").Select 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 これでどうでしょうか?

関連するQ&A

専門家に質問してみよう