今日は、エクセル上で、模様みたいなものを作って遊びましょう。
こんな感じです。
はっきり言って、遊びです。ご了承ください。
この模様は、直線という図形をたくさん使って表現されています。
そのようなプログラムを作成する必要があります。
エクセルを起動し、Altキーを押しながらF11キーを押して、Visual Basic Editorを表示します。
「挿入」メニュー、「標準モジュール」とクリックし、コード画面を表示したら、以下のように書きましょう。
Sub main()
'きれいな模様を書く
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double
Dim i As Integer
For i = Selection.Left To Selection.Left + Selection.Width Step 5
x1 = i
y1 = Selection.Top
x2 = (Selection.Left + Selection.Width) - (i - Selection.Left)
y2 = Selection.Top + Selection.Height
Call DrawLine(x1, y1, x2, y2)
Next
Range("A1").Select
End Sub
Private Sub DrawLine(ByVal x1 As Double, _
ByVal y1 As Double, _
ByVal x2 As Double, _
ByVal y2 As Double)
'直線を引く
With ActiveSheet.Shapes.AddLine(x1, y1, x2, y2).Line
.ForeColor.RGB = RGB(0, 0, 255)
.Style = msoLineThickThin
End With
End Sub
Sub DeleteShapes()
Dim s As Shape
For Each s In ActiveSheet.Shapes
s.Delete
Next
End Sub
画像も載せておきます。
mainプロシージャをご覧ください。
繰り返し処理をおこなっています。その中で呼ばれているDrawLineが直線を引くためのプロシージャです。
引数に、開始点のx座標とy座標、終了点のx座標とy座標、都合4つを指定すると直線を引くことができます。
選択されたセル範囲に関して、開始点と終了点を巧みにずらして直線を引いているのです。
線の色は、RGB関数で指定しています。
エクセルに切り替えたら、適当なセル範囲を選択して、mainを実行してみてください。
何回も実行してみてください。
直線を消したいときは、DeleteShapesプロシージャを実行してください。すべての直線が削除されます。
だい
こんな感じです。
はっきり言って、遊びです。ご了承ください。
この模様は、直線という図形をたくさん使って表現されています。
そのようなプログラムを作成する必要があります。
エクセルを起動し、Altキーを押しながらF11キーを押して、Visual Basic Editorを表示します。
「挿入」メニュー、「標準モジュール」とクリックし、コード画面を表示したら、以下のように書きましょう。
Sub main()
'きれいな模様を書く
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double
Dim i As Integer
For i = Selection.Left To Selection.Left + Selection.Width Step 5
x1 = i
y1 = Selection.Top
x2 = (Selection.Left + Selection.Width) - (i - Selection.Left)
y2 = Selection.Top + Selection.Height
Call DrawLine(x1, y1, x2, y2)
Next
Range("A1").Select
End Sub
Private Sub DrawLine(ByVal x1 As Double, _
ByVal y1 As Double, _
ByVal x2 As Double, _
ByVal y2 As Double)
'直線を引く
With ActiveSheet.Shapes.AddLine(x1, y1, x2, y2).Line
.ForeColor.RGB = RGB(0, 0, 255)
.Style = msoLineThickThin
End With
End Sub
Sub DeleteShapes()
Dim s As Shape
For Each s In ActiveSheet.Shapes
s.Delete
Next
End Sub
画像も載せておきます。
mainプロシージャをご覧ください。
繰り返し処理をおこなっています。その中で呼ばれているDrawLineが直線を引くためのプロシージャです。
引数に、開始点のx座標とy座標、終了点のx座標とy座標、都合4つを指定すると直線を引くことができます。
選択されたセル範囲に関して、開始点と終了点を巧みにずらして直線を引いているのです。
線の色は、RGB関数で指定しています。
エクセルに切り替えたら、適当なセル範囲を選択して、mainを実行してみてください。
何回も実行してみてください。
直線を消したいときは、DeleteShapesプロシージャを実行してください。すべての直線が削除されます。
だい
作りたいと思う人出てくるかもね(^^ゞ
曲線も期待してます。
また楽しんでもらえるようにネタを考えます(^^)
曲線も面白いものができたら取り上げます。
今後もよろしくお願いします。